搜尋

首頁  >  問答  >  主體

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 天前599

全部回覆(1)我來回復

  • PHP中文网

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

    因為找不到1.txt檔案。也就是程式執行的工作目錄並不是src。
    你是直接點擊Run或Debug按鈕執行的吧?那麼點選那個按鈕旁的小三角,選擇你的Run或Debug Configuration,第二個選項卡里有工作路徑,通常是一個預設的變數workspace_loc也就是代表工作空間的目錄。

    你要嘛改變設置,要嘛就把1.txt放那個路徑,要嘛在程式碼寫絕對路徑。

    另外其實全域變數errno會記錄下fopen失敗的原因的。

    回覆
    0
  • 取消回覆