char数组中的Num变为int

C++Num in char array to int

本文关键字:变为 int Num 数组 char      更新时间:2023-10-16

我有一个大的数字存储在一个字符数组中,我将它返回到一个cout中。

#include <iostream>
int num()
{
    char num[] = "160919040944";
    return (int)num;
}
int main()
{
    std::cout << num();
    return 0;
}

输出一个随机数,而不是我指定的那个。

正如评论中提到的,(int)num不这样做。您需要的是通过std::stoll

从函数返回long long
long long num()
{
    char num[] = "160919040944";
    return std::stoll(num); // need conversion to long due to overflowing an int
}

函数std::stollstd::string(在本例中由char*隐式构造)转换为long long int

感谢@Lorehead的评论