为什么sscanf不能处理包含空格的字符串后跟逗号和整数?

时间:2015-01-26 22:04:07

标签: c scanf

在尝试回答this question时,我发现sscanf存在以下奇怪问题。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main(void){
    const char* lit ="George Washington, 2345678";
    char buffer[1024];
    int out = 0;
    memset(buffer, 0, 1024);
    sscanf(lit, "%50[^,]s, %d\n", buffer, &out);
    printf("%s %d\n", buffer, out);
}

此代码的输出为George Washington 0

为什么会这样,如何纠正?

我已查看thisthis

0 个答案:

没有答案