搜索

首页  >  问答  >  正文

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

文件读写最简单问题,编译器是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);
}

文件目录如下

怪我咯怪我咯2804 天前595

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-04-17 15:08:12

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

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

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

    回复
    0
  • 取消回复