C 逐字阅读,包括以下空白
早上好,伙计们,我在C中的输入有问题。我想做的是读一个单词,包括后面的所有空格,直到下一个单词 例如:C 逐字阅读,包括以下空白,c,string,input,whitespace,scanf,C,String,Input,Whitespace,Scanf,早上好,伙计们,我在C中的输入有问题。我想做的是读一个单词,包括后面的所有空格,直到下一个单词 例如: Hello_______Hi // consider _ to be a whitespace Hello_______ 我还没有找到让scanf做这个把戏的方法,strtok也没有。我是所有的想法和任何一般的提示将是伟大的!谢谢您可以使用scanf char *a; printf ("\n Enter a string: "); scanf ("%m[^\n]%*c", &a)
Hello_______Hi // consider _ to be a whitespace
Hello_______
我还没有找到让
scanf
做这个把戏的方法,strtok也没有。我是所有的想法和任何一般的提示将是伟大的!谢谢您可以使用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);
展示你尝试过什么,也展示你想通过输入来实现什么,以及你希望输出什么。如果你想也能读第二个单词,那么你必须阅读完整的行并自己进行解析。嗯,如果我使用确切的代码,我会立即崩溃,这是不可能的。你是在windows上还是在Linux上?我在windows上,使用代码块编辑代码,并使用gcc编译器进行编译,它在没有分配scanf的情况下工作得很好。非常感谢。