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

本文介绍了一种将整形数组转换为一个完整数的方法,通过使用系统函数和宏定义,实现数组元素的字符串拼接和最终的整数转换,附带功能验证代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

头文件包含

头文件

#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;
}

输出结果:
陳楊出品

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值