我正在使用格式化字符串解析文件。需要一些解析帮助。 请考虑以下示例。
int main()
{
char value[32], name[32];
int buff_ret1, buff_ret2;
char *buff = "1000000:Hello";
char *buff_other ="200000:\0";
buff_ret1 = sscanf(buff,"%[^:]:%s", value, name);
printf("buff_ret1 is %d\n", buff_ret1);
buff_ret2 = sscanf(buff_other,"%[^:]:%s", value, name);
printf("buff_ret2 is %d\n", buff_ret2);
return 0;
}
我希望buff1_ret
和buff2_ret
的值为2,但buff_ret2
值为1.我明白它不考虑NUL。有没有办法可以对sscanf
函数说明将NUL视为要阅读的字符。
答案 0 :(得分:3)