繁体   English   中英

如何使用scanf在空白处阅读?

[英]How do I read in white spaces with scanf?

看到空格后,它将完全停止读取代码。 如何更改我的代码,使其读入空白

char line[300];

printf("Enter a string to be checked: ");
scanf("%s", line);

我尝试通过重定向输入的字符串是:

((aa)<> [[[[{[x []]] <>)

您可以使用scanf的fgets intsead。 例如:

    fgets(line, 1024, stdin);

您应该使用fgets(line, size, stdin); 如先前发布的。 您永远不要使用gets() ,因为每次都期望输入大小相同。 至少gcc的编译器会警告您不要使用它。

%s匹配非空格字符序列; 下一个指针必须是指向char的指针,并且数组必须足够大以接受所有序列和终止NUL字符。 输入字符串停在空白处或最大字段宽度处,以先到者为准。

需要选择其他格式的字符串。 从输入字符串中还不清楚您到底要完成什么。

请检查代码。

  printf("Enter a string to be checked: ");
    gets( line);
    puts(line);

输出:-

Enter a string to be checked: ( ( a a ) < > [ [ [ { [ x ] ]]] <>)
( ( a a ) < > [ [ [ { [ x ] ]]] <>)
Press any key to continue . . .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM