0
#include
char option[64],line[256];

main()

{

printf(">>")
(fgets(line, sizeof(line), stdin)) {
            if (1 == sscanf(line, "%s", option)) {
            }
    }
print(option)
}

will only get the first word, for example

/>>hello world

would output

/>>hello

4

4 回答 4

0

sscanf(..., "%s" ...

扫描在空白处终止,如果您想打印整行,您只需:

printf("%s", line)

于 2013-05-04T17:12:21.323 回答
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;
}
于 2013-05-04T17:13:48.957 回答
0

您可以使用scanf允许匹配空格的格式。看看@BLUEPIXY 好答案。

或者,您可以使用getline(). 更多信息在这里

于 2013-05-04T17:15:14.820 回答
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();
于 2013-05-04T17:15:39.197 回答