今天學習了文件流,想往磁盤文件中輸入數據,出現了BUG,最終記得老師說過,windows路徑寫法有點不一樣,是“/”,解決了問題。
#include <fstream>#include <iostream>using namespace std;void main(){ int a[10]; ofstream outfile; outfile.open("D:/goumi/abc.dat", ios::out);//路徑寫法/,而不是/! if (!outfile) { cerr << "打開錯誤" << endl; system("pause"); exit(1); } cout << "pppp" << endl; for (int i = 0; i < 10; i++) { cin >> a[i]; outfile <<a[i]<< " "; } outfile.close(); system("pause");} 另外,文件流和標準輸入輸出流一樣,都是C++ 自定義的類,使用時,首先包含其頭文件,然后定義相關流對象。標準輸入輸出流類:iostream,使用:#include <iostream>,此類的其中兩個常用流對象是cin,cout,其成員函數重載了符號">>","<<"。
文件流類:fstream,使用:#include <fstream>,cin,cout是標準輸入輸出流預定義的流對象,用戶可以直接使用,但是文件流,需要用戶自己定義流對象
且文件流對象要和指定文件建立關聯,且指明是二進制文件,還是ASCII文件。操作如下:
方法1:
ofstream outfile; outfile.open("D:/goumi/abc.dat", ios::out);//路徑寫法/,而不是/!調用文件流類的成員函數open,第一個參數是磁盤文件的名稱和格式(dat二進制文件(打開用記事本),txt(ASCII文件,直接可以打開看到字符串)),不寫路徑,默認在當前目錄下。第二個參數是指明以輸出方法。
方法2:
ofstream outfile("D:/goumi/abc.dat", ios::out);由于文件流類,有待參數的構造函數,構造函數里有打開磁盤文件的功能,所以在定義流對象的同時可以指定參數,調用構造函數來打開文件
新聞熱點
疑難解答
圖片精選