我有一个以下数组和一个printf()stament,
char array[1024] = "My Message: 0x7ffff6be9600";
printf("%.14s", strstr(array, " 0x") + 1);
上面printf()的输出是0x7ffff6be9600, 我们可以将它存储到无符号长变量吗?
答案 0 :(得分:5)
查看sscanf
答案 1 :(得分:0)
试试这个:
const char* numBuf = strstr(array, " 0x");
unsigned long number = 0; /* Set default value here. */
if(numBuf)
number = strtoul(numBuf + 1, 0, 0);
答案 2 :(得分:0)
由于您将其标记为C ++,请参阅istringstream。
using std::istringstream;
const char source_text[] = "0x7ffff6be9600";
unsigned long value;
istringstream input(source_text);
input >> hex >> value;