#include
char option[64],line[256];
main()
{
printf(">>")
(fgets(line, sizeof(line), stdin)) {
if (1 == sscanf(line, "%s", option)) {
}
}
print(option)
}
只会获得第一个单词,例如
/>> hello world
会输出
/>>你好
答案 0 :(得分:0)
在sscanf(..., "%s" ...
扫描在空格处终止,如果要打印整行,只需:
printf("%s", line)
答案 1 :(得分:0)
#include <stdio.h>
int main(){
char option[64],line[256];
printf(">>");
if(fgets(line, sizeof(line), stdin)) {
if (1 == sscanf(line, "%[^\n]%*c", option)) {//[^\n] isn't newline chars
printf("%s\n", option);
}
}
return 0;
}
答案 2 :(得分:0)
您可以使用scanf
中允许匹配空格的格式。看看@BLUEPIXY good anwser。
或者,您可以使用getline()
。更多信息here。
答案 3 :(得分:0)
您可以尝试以下代码段:
char dump, string[40];
printf("Enter the sentece with spaces:\n");
scanf ("%[^\n]", string);
scanf("%c", &dump);
printf ("You entered: %s", string);
getchar();
getchar();