【发布时间】:2010-01-13 06:23:41
【问题描述】:
我正在尝试在 C 中打开一个名为 test 的简单 .rtf 文件。我正在使用 Xcode。我的代码是:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, const char * argv[]) {
FILE *filePtr;
filePtr = fopen("test.rtf", "r");
if (filePtr == NULL) {
fprintf(stderr, "Can't open \"test\"\n");
exit(EXIT_FAILURE);
}
else {
printf("File open successful\n");
int x;
/* read one character at a time until EOF is reached */
while ((x = fgetc(filePtr)) != EOF) {
printf("%c", x);
}
}
fclose(filePtr);
return 0;
}
我的 test.rtf 文件与我的 Xcode.proj 目录位于同一目录中。我的输出是“文件打开成功”,但是我没有从文件中读取任何内容。我这样做对吗?谢谢。
【问题讨论】:
-
如果在
return 0;之前添加putc('\n', filePtr);,你看到了什么吗?如果文件中没有换行符,您可能看不到任何内容。 -
不,当我在返回 0 之前添加它时,我什么也看不到;
-
嗯。命令行中的
xxd -l 32 test.rtf说什么?