strtol输出超限问题

想要输入char* a=0x88888888;等字符串,然后通过strtol(a,&ptr,16)转化为16进制,因为strtol最大只能转化为long int(0x7ffffffff)类型的数据。字符串的数据转化为16进制的话明显已经超限了。请问大家有没有好的解决办法。

有更大的库函数 stroul c库里面集成的有

////1. 数字转字符串

unsigned long long bigdata= 0x8888888888888888;

char buffer[30]={0};
sprintf_s(buffer,30, "%llu", bigdata);
string  info= string(buffer);

////2. 字符串转数字

unsigned long long bigdata= 0;

string SourceData="9838263505978427528";

sscanf_s(SourceData.c_str(),"%llu",&bigdata);

不行你就按位将字符串截断,然后分别转换好存放到数组里,类似大数计算的方法

手写呗,实现又不复杂