【发布时间】:2016-12-10 10:25:18
【问题描述】:
我想学习如何在 C 中使用 getc 函数,所以我编写了一个小程序,它应该将文本文件的第一个字母作为输出。
下面是它的外观:
int main()
{
int character;
FILE *file;
file = fopen("file.txt", "r");
if(file == NULL)
printf("can't open\n");
character = getc(file);
printf("%c", character);
fclose(file);
return 0;
}
它无法打开file.txt 文件,我不知道为什么。 file.txt 与我的程序的 .exe 文件位于同一文件夹中。我正在使用 Windows Vista。
提前致谢
【问题讨论】:
-
如果您在像 Visual Studio 这样的 IDE 中进行编程,程序运行时的当前工作目录通常不是可执行文件的目录,而是项目根目录。跨度>
-
把文件的完整路径放到
fopen -
我在代码块中编程
-
同样,大多数 IDE 通常使用项目根目录作为程序的当前工作目录。要么移动文件,要么使用完整的绝对路径。
-
如果您使用
int main(int argc, char *argv[]),您可以从argv[0]处的可执行文件名称中找出路径。
标签: c fopen windows-vista