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語言中有關檔案的問題
錯誤 重複宣告fun3 在 file1 中,include file3.c 表明在file1.c裡宣告file3.c一次 而 include file2.c 表明在file1.c裡宣告file2.c一次 在 file2 中,include file3.c 表明在file2.c裡宣告file3.c一次...
關於c語言中檔案修改的操作,關於C語言中檔案修改的操作!
使用檔案操作函式fopen即可建立檔案,使用檔案操作函式fprintf即可修改檔案內容。1 c語言標準庫提供了一系列檔案操作函式。檔案操作函式一般以f 單詞的形式來命名 f是file的簡寫 其宣告位於stdio.h標頭檔案當中。例如 fopen fclose函式用於檔案開啟與關閉 fscanf fg...
c語言中開啟檔案是什麼意思,C語言中開啟檔案是什麼意思
檔案 是指儲存在計算機外部儲存器中的資料的集合。計算機在處理檔案時,只要知道檔案的名字,就可以自動完成對檔案的查詢 訪問 刪除等各種操作。c語言將檔案看作是字元構成的序列,即字元流。其基本的儲存單位是位元組。c語言中的檔案,按照資料存放的形式分為兩類 一類是將資料當作乙個乙個字元,按照它的ascii...