【发布时间】:2012-07-06 03:39:41
【问题描述】:
我想使用以下代码获取文件中的最后一个字符
FILE * f = fopen ( f_text, "r" );
if (f )
{
if (fseek( f, -1, SEEK_END ) != 0 ) fclose (f);
char last[1];
fgets(last, 1, f );
...
但只有 "" 存储在变量 last 中。错误在哪里?
unicode 文件有问题吗?感谢您的帮助。
【问题讨论】:
-
如果是正确的文本文件,最后一个字符不是
\n吗? -
这段代码无法编译,因为你在
fclose(f);之前缺少了一个) -
@user315052:不,为什么会这样?
-
@BenjaminLindley:这可能表示文本文件被无意截断。例如,您的文本编辑器崩溃了。
-
@user315052:可以,但完全可以保存文本文件,而无需尾随换行符。