如何捕获回车键('\ n')?

时间:2015-07-18 22:48:26

标签: c

    scanf("%s", input);

    if (strlen(input) > 1) {
        errorNet();
    }

    if (input[0] == '\n') {
        errorNet();
    }

    if (input[0] == '\0') {
        errorNet();
    }

当我按Enter键时,scanf转到下一行并继续搜索输入。如何设置如果输入命中,则调用函数errorNet?

实施例。如果输入/空行,请调用errorNet函数。

1 个答案:

答案 0 :(得分:1)

如果您使用fgets,请指定您正在阅读的字符串的大小。达到此尺寸或用户按下fgets时,\n将停止阅读输入。请注意,此大小会计算字符串末尾的\0

char input[10];
fgets(input, 10, stdin);
printf("%s\n", input);

要检测用户是否只是按了\n而没有写任何内容,只需检查第一个字符是否为\n,例如:

if (input[0] == '\n') {
    printf("just '\\n'\n");
}