Shift + Enter vs Enter in console

问题描述 投票:3回答:1

我正在尝试捕获我通过标准输入流输入的所有字符,但EOF除外。我想输入多行文本:每行末尾都有\n

int getline(char s[])
{
    printf("Call-getline()\n");

    int c;
    int idx=0;

    while((c=getchar()) != EOF)
    {
        s[idx++] = c;
    }

    printf("\n-EOF found--\n");

    s[++idx] = '\0';

    return idx;
}

[我不知道如何摆脱按Enter键时得到的\n,我想知道shif+enterenter alone是否有任何区别。我了解了它在Microsoft Word中的功能:新段落与换行符。

c shift enter
1个回答
0
投票

答案Removing trailing newline character from fgets() input已链接到注释中,为您显示了解决方案。

但是,我想在这里指出另一件事。结束输入的常用方法是按Ctrl + D,它将把EOF发送到程序。或至少大多数终端都可以。

© www.soinside.com 2019 - 2024. All rights reserved.