我必须接受用户的输入,并将其写入到文件中,我使用fgets()
的想法,以防止溢出,其中:用户输入和与fgets
while (fgets(line, sizeof line, stdin) != NULL)
fputs(line, file);
这样做的问题是,用户有在空行输入CTRL + Z,然后提交它以退出输入,这可能看起来有点混乱。有没有更简单的方法来退出fgets()
输入?
其他方法呢?如果我用符号读取符号,我可以实现一个退出字符,但用户不能删除输入,这也是令人困惑的,所以我必须实施删除算法,这会增加代码的复杂度。
编辑: 用户必须能够在尽可能少的限制下在终端中输入C代码。
像Linux上的字符一样工作。也许你有一些奇怪的IDE或OS?而'fgets'不允许编辑。 'stdin'是一个字符流! – Olaf
这个想法是能够很容易地退出输入(可能是一个特定的退出字符),我不能用fgets来做到这一点。 – user3604097