我正在研究一个C项目。在这个项目中,我需要打开一个txt文件并从该文件中读取。这就是我所做的:
FILE* our_file=fopen ("init_file","r" );
fscanf(our_file,"%s\n",(*sys)->system_name);
我相信第一行会打开文件,第二行会读取文件中的第一行并将其放入(*sys)->system_name
。
我的问题是文件无法打开,即使我把它放在我保存项目的工作区中。
答案 0 :(得分:-1)
阅读和开放是两回事。对于打开,在尝试做某事之前,应始终检查开口是否成功。这样的事情是安全的:
FILE* file = NULL;
file = fopen(path, mode);
if (file == NULL) {
fprintf(stderr, "Could not open file");
else {
// read, write or do what you want to do
}
至于阅读,你会在Stack Overflow上找到十亿可能对你有帮助的答案。再问一下,似乎没有什么对你有用。
此外,您应该检查关闭文件是否成功,因为未能关闭它可能会导致以后出现打开问题。
答案 1 :(得分:-2)
尝试使用绝对路径,而不是相对路径。 要获得这个,获取工作目录,并与您的文件名连接。
Widget.first
另外,不要忘记将文件放入工作目录。