逐字阅读,包括以下空格

时间:2014-12-04 08:25:56

标签: c string input whitespace scanf

早上好,我在C中输入有问题。我想要做的是读一个单词,包括跟随它到下一个单词的所有空格 例如:

Hello_______Hi  // consider _ to be a whitespace

Hello_______

我还没有办法让scanf做伎俩,strtok。我完全没有想法,任何一般提示都会很棒!谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用scanf

轻松完成
char *a;
printf ("\n Enter a string: ");
scanf ("%m[^\n]%*c", &a);
printf ("\n string: '%s'\n\n", a);

<强>输出:

$ ./bin/scanfws

 Enter a string: Hello     Hi

 string: 'Hello     Hi'

没有scanf分配:

char a[30];
printf ("\n Enter a string: ");
scanf ("%[^\n]%*c", a);
printf ("\n string: '%s'\n\n", a);