1

嘿伙计们,所以我正在尝试执行以下操作:

我有一个表单字符串,_ 实际上是空格。:

__ 1 _ __ _多线程编程 :: 通过线程提高性能

我想读取没有空格的整数,然后读取字符串的其余部分,包括字符串前面的空格。

我有以下代码:

while(fgets(line, MAX_STRINGS, stdin)){
    sscanf(line, "%d %88[^\n]s", &num, string_value);
    printf("%d + %s\n", num, string_value);
}

它读取整数并读取字符串的其余部分(我对问题的要求表明包括整数在内的整个字符串不超过 88 个字节)但它省略了字符串前面的所有空格,我需要它们. 我怎样才能保留空白?谢谢!

4

1 回答 1

3

删除 %d 和 %88 之间的空格。格式字符串中的sscanf空格表示“使用并丢弃所有空格”。

于 2013-10-28T19:25:36.047 回答