我们可以将printf()打印的值存储到unsigned long变量中吗?

时间:2011-09-23 13:29:08

标签: c++ c

我有一个以下数组和一个printf()stament,

char array[1024] = "My Message: 0x7ffff6be9600";
printf("%.14s", strstr(array, " 0x") + 1);

上面printf()的输出是0x7ffff6be9600, 我们可以将它存储到无符号长变量吗?

3 个答案:

答案 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;