C 語言中,可以在通過傳遞檔案物件,然後通過這個函式讀取資料嗎

時間 2021-08-30 09:08:44

1樓:

// cin和cout重定向不正確,應該如下修改

int main(int argc, char *argv)

2樓:

在main函式這裡,你居然這麼寫:

ifstream cin("in2.txt");

請問cin是什麼?cin在預設情況下是c++的一個全域性物件,你這麼寫就等於在main裡定義了一個區域性物件cin,你自己定義的cin把系統預設的那個cin給覆蓋了。可是這個區域性物件的作用域也就限於main函式了。

所以當你在另外一個函式中寫

cin>>start->value;

createdata函式中的這個cin是系統預設的cin,它從鍵盤讀入字元。

而如果你把createdata的**移動到了main函式中,你再寫cin>>start->value,用的是你自定義的那個區域性的cin,它從檔案讀入字元。

忠告:注意變數的作用域,注意不要覆蓋全域性變數。

還有就是你的類

class unit ;

建議寫成這樣

struct unit ;

純粹資料組成的類沒有什麼意義,建議寫成結構體意義更明確些。

c++中怎樣把一個檔案作為引數傳遞給函式

3樓:

/**功能: 從檔案中讀入資料

*日期: 2008.9.4

*輸入: filename---檔名

*輸出: datastorage--儲存資料的倉庫 由你確定*返回: 0----執行正確

* -1---遇到錯誤

*/int getdata(const char *filename,datastruct *datastorage)

/**開始讀資料

*/if(fread(datastorage,sizeof(*datastorage),1,fp)<1)

fclose(fp);

return 0;}

4樓:匿名使用者

可以把檔名作引數啊,用string或者char *不就行了.

5樓:匿名使用者

對,直接用檔案關聯的檔案流物件的引用就可以了。

f(fstream& file,...)

6樓:匿名使用者

f(fstream file, ...,)

c語言中如何將結果傳遞給另c語言檔案

拒絕996的瀟灑程式設計師 通過函式的傳址引數 引用或指標 或返回值傳遞。多個人合作時,必須提前約定好介面函式的宣告格式。這裡的所謂介面函式就是所有可能需要用來互相傳遞結果的函式 這個要用 版本管理工具,有商用的也有開源的。開源的比如svn,cvs,商用的如clearcase等。工作的模式基本上是 ...

C語言中形參與實參怎麼傳遞,c語言中形參和實參的區別?

我簡單描述一下 c語言傳遞引數機構是這樣的 非指標類的資料傳遞引數時傳數值,指標類資料傳遞引數時傳地址 這裡陣列名也算指標 比如int max int a,int b 這時候如果呼叫這個函式max x1,x2 僅僅將x1和x2的數值傳遞給函式max,a與x1佔有不同的記憶體區域 int max in...

在C語言中檔案的存取方式是什麼,C語言中檔案的存取方式是什麼

在c語言中,開啟檔案可以指定檔案的存取方式。開啟用函式fopen。其原型為 file fopen const char path,const char mode 需要包含標頭檔案stdio.h。當開啟成功時會返回file 指標,用於後續檔案的讀寫關閉等操作。引數path為檔案的路徑及檔名。mode即...