snprintf的逆

时间:2014-12-15 15:44:15

标签: c++ c

C或C ++中是否有任何函数可以执行snprintf的反转,例如

 char buffer[256]
 snprintf( buffer, 256, "Number:%i", 10);

 // Buffer now contains "Number:10"

 int i;
 inverse_snprintf(buffer,"Number:%i", &i);

 // i now contains 10

我自己可以编写一个满足此要求的函数,但标准库中是否已有一个函数?

1 个答案:

答案 0 :(得分:13)

是的,有sscanf()。它返回与输入成功匹配的标记数,因此您可以检查返回值以查看它在输入字符串中的位置。

if (sscanf(buffer, "Number:%i", &i) == 1) {
    /* The number was successfully parsed */
}