我有一个文件,该文件存储在用户的输入(标准输入)串在文件的结尾删除新的空行
然而,有2种情况
如果我正常读取它,我的文件将有由于用户引入的最后一个字符串中的换行符,在其末尾处为空行。
如果我从输入字符串中删除\n
,则文件将所有字符串存储在同一行中,这是不需要的。
如何从文件末尾简单地删除该新行?
如果需要,我可以编辑并提供一些我的代码。
编辑:比方说,一个文件我已经有了的最后一行是“卡”
当光标在“卡”前,如果我按向下箭头它不转到下一行,而在这种情况下,它可能发生一次。
对于我的代码功能完美,我不能让这种情况发生,
这里是什么,我有一个例子:
f=fopen(somefile, "w");
do
{
fgets(hobby, 50, stdin);
fprintf(f, "%s", hobby)
} while(strcmp(hobby,"\n") != 0);
你如何阅读这些文字?你如何储存这些线?你在哪里储存线?你能否请尝试创建一个[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)并向我们展示? –
如果您使用奇怪的编辑器来查看它,它只会在其末尾显示一条空行。通常情况下,唯一不以'\ n'结尾的文本文件是空文件(包含0行)。 – melpomene
也许你正在用文本编辑器查看文件,并认为有一个“额外的行”,因为光标位于下一行。事实并非如此,那只是下一行尚未存在的第一个字符的打字位置。 –