Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 逐字阅读,包括以下空白_C_String_Input_Whitespace_Scanf - Fatal编程技术网

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)

早上好,伙计们,我在C中的输入有问题。我想做的是读一个单词,包括后面的所有空格,直到下一个单词 例如:

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的情况下工作得很好。非常感谢。