所以我有两个十六进制字符串 -"3b101c091d53320c000910"
和 "071d154502010a04000419"
. 当我strtol()
在它们上使用时,两个字符串的值相同。
我尝试了以下代码-
string t1="3b101c091d53320c000910";
long int hext1=strtol(t1.c_str(),0,16);
string t2="071d154502010a04000419";
long int hext2=strtol(t2.c_str(),0,16);
cout<<hext1<<endl;
cout<<hext2<<endl;
两者都给了我相同的价值:9223372036854775807
.
我不知道 strtol() 是如何工作的,因为我是 C++ 新手,但它为两个不同的十六进制字符串提供了相同的值。为什么?