c++ - C语言文件读写基本问题

浏览:33日期:2023-04-02

问题描述

文件读写最简单问题,编译器是Eclipse C++,fopen函数总是返回空指针,怎么回事?

#include <stdio.h>#include <fstream>using namespace std;int main(){ FILE *fp; fp=fopen('1.txt','r+'); if(fp==NULL){printf('there is no character.'); } char buff[255]; fscanf(fp,'%s',buff); printf('%s',buff);}

文件目录如下

c++ - C语言文件读写基本问题

问题解答

回答1:

因为找不到1.txt文件。也就是程序执行的工作目录并不是src。你是直接点击Run或者Debug按钮执行的吧?那么点击那个按钮旁的小三角,选择你的Run或Debug Configuration,第二个选项卡里有工作路径,通常是一个预设的变量workspace_loc也就是代表工作空间的目录。

你要么改变设置,要么就把1.txt放那个路径,要么在代码写绝对路径。

另外其实全局变量errno会记录下fopen失败的原因的。

相关文章: