【C++基礎】檔案流讀寫操作
向文字檔案寫入資料
int arr[] = {1,2,3,4,5};
//定義檔案流物件
ofstream ofile;
//開啟檔案
ofile.open("test.txt", ios::out);
if(!ofile)
{
cerr << "open file fail" << endl;
exit(1);
}
//把內容寫入檔案
for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
{
ofile << arr[i] << " ";
}
//關閉檔案流物件
ofile.close();
從文字檔案讀取資料
int arr[10];
ifstream ifile;
//開啟檔案
ifile.open("test.txt", ios::in);//相對其他檔案是in
if(!ifile)
{
cerr << "open file fail" << endl;
exit(1);
}
for(int i = 0; i < 10; i++)
{
//站在檔案角度是讀檔案
ifile >> arr[i];//把檔案的內容寫入到陣列中
}
ifile.close();
二進位制檔案寫操作
int arr[] = {1,2,3,4,5};
//1.定義檔案流物件
ofstream ofile;
//2.開啟檔案
ofile.open("test.txt", ios::out | ios :: binary);
if(!ofile)
{
cerr << "open file fail" << endl;
exit(1);
}
//3.檔案流物件寫操作
ofile.write((char*)arr,sizeof(arr));
//4.關閉檔案流物件
ofile.close();
二進位制檔案讀操作
int arr[10];
//1.定義檔案流物件
ifstream ifile;
//2.開啟檔案
ifile.open("test.txt", ios::in && ios::binary);//相對其他檔案是in
if(!ifile)
{
cerr << "open file fail" << endl;
exit(1);
}
//3.檔案流物件讀操作
file.read(char*)arr,sizeof(arr));
//4.關閉檔案流
ifile.close();
檔案的隨機讀取
//1.定義檔案流物件
ifstream ifile;
//2.開啟檔案
ifile.open("test.txt", ios::in);//相對其他檔案是in
if(!ifile)
{
cerr << "open file fail" << endl;
exit(1);
}
//3.檔案流物件讀操作
int pos;
int val;
while(1)
{
cout << "請輸入位置 :>";
cin >> pos;
//seekg 對輸入檔案定位,有兩個引數:
//第一個:表示偏移量,可正可負,正表示向後,負表示向前
//第二個:beg檔案開頭,cur檔案指標當前位置,end檔案結尾
ifile.seekg(pos,ios::beg);
ifile >> val;//val讀取檔案
cout << " val = " << val << endl;
}
//4.關閉檔案流
ifile.close();
格式化資料流
ofile << "成功率 = " << setiosflags(ios::fixed) << setprecision(2)
<< num_success << "/"<< num_total << " = "
<<100.0*num_success/num_total << "%" << endl;
setiosflags(ios::fixed)主要是將流的格式設定為:fixed(將一個浮點數表示為一個定點整數和小數點和小數部分的格式)。然後setprecision(2)表示小數部分的精度為2位
設定輸出域寬
include <iomanip>
setw和setfill 被稱為輸出控制符
setw(int n)用來控制輸出間隔
cout<<'s'<<setw(8)<<'a'<<endl;
//顯示效果:s a //s與a之間有7個空格,加上a就8個位置
cout <<setw(2) <<a <<b;//語句中域寬設定僅對a有效,對b無效。
setw()預設填充的內容為空格,可以setfill()配合使用設定其他字元填充。
cout<<setfill('*')<<setw(5)<<'a'<<endl;
//顯示效果:****a //4個*和字元a共佔5個位置。
相關文章
- C++讀寫檔案操作C++
- C++檔案讀寫操作C++
- C++基礎::檔案流C++
- 讀取檔案流並寫入檔案流
- C++中對檔案進行讀寫操作C++
- C++寫檔案操作C++
- C++檔案讀寫C++
- C++讀寫檔案C++
- Java檔案操作 讀寫操作Java
- Java 字元流檔案讀寫Java字元
- IO流的檔案讀寫
- 129.(位元組流、字元流)對檔案進行讀寫操作字元
- C++基於檔案流和armadillo讀取mnistC++
- C/C++ 檔案讀寫C++
- Pandas 基礎 (4) - 讀 / 寫 Excel 和 CSV 檔案Excel
- Perl讀寫檔案&字串操作字串
- Golang對檔案讀寫操作Golang
- python檔案讀寫操作Python
- Scala檔案的讀寫操作
- 檔案操作之按照行讀寫檔案
- C++檔案讀寫總結C++
- C++檔案操作實戰:建立、寫入、讀取、修改檔案一應俱全C++
- Java中檔案的讀寫操作Java
- Python基礎 - 檔案和流Python
- Python基礎——檔案操作Python
- Spark基礎-Scala檔案操作Spark
- 檔案IO中基礎操作
- Python基礎知識之檔案的讀取操作Python
- 走進Linux伺服器之一:Linux操作基礎——Linux基本檔案操作(讀寫)Linux伺服器
- python基礎-檔案讀寫'r' 和 'rb'區別Python
- IO流-檔案的寫入和讀取
- 詳解python檔案讀寫操作Python
- Android中檔案的讀寫操作Android
- 『無為則無心』Python基礎 — 41、Python中檔案的讀寫操作(一)Python
- 『無為則無心』Python基礎 — 42、Python中檔案的讀寫操作(二)Python
- C++ 中輸入輸出流及檔案流操作筆記C++筆記
- C/C++中檔案的讀寫格式C++
- C++學習筆記----讀寫檔案C++筆記