C++ 将一个整形数组 转换成一个完整的整形

如何将一个整形数组转换成一个完整数

  • 头文件包含
  • 转换实现
  • 功能验证

本期方法很简单 用的大部分是系统函数 通俗易懂 希望能帮到你

头文件包含

头文件

#include <iostream>
#include <Windows.h>
#include <string.h>

域名空间

using namespace std;

工具宏
这个宏能帮助我们快速的获取数组的元素长度

#define ARRLENGTH(Arr) sizeof(Arr)/sizeof(Arr[0])

转换实现

转换函数
通常数组转换的整形都特别大所以我们需要用ULONGLONG 无符号长整型长整型 的值类型来保存

//typedef ULONGLONG unsigned long long
ULONGLONG ConvertArrToInt(int arr[], int length)
{
	string str("");//保存拼接后的字符串
	char buf[6]; //够用就行
	char* endPtr;//指向尾字符串 详情可以百度参考 strtoull 的用法
	
	//我们只需要将每个整形转换成字符串 然后拼接
	for (int i = 0; i < length; i++)
	{
		_itoa(*(arr + i), buf, 10);
		str += buf;
	}
	
	//最后将字符串转换等整形
	ULONGLONG value = strtoull(str.data(), &endPtr, 10);
	
	cout << "value : " << value << endl;
	return value;
}	

功能验证

让我们来验证下吧

int main(){
	int arr[] = {12,345,256,278};
	int length = ARRLENGTH(arr);
	
	//输出我们的完整数
	//这里的value 用来存储转换后返回的完整数
	ULONGLONG value = ConvertArrToInt(arr,length);
	 
 //这句话能保证我们的控制台窗口不会一闪而过
 systme("echo.&pause");
 return 0;
}

输出结果:
C++ 将一个整形数组 转换成一个完整的整形_第1张图片

你可能感兴趣的:(基础算法)