技術(shù)交流QQ群:1027579432,歡迎你的加入!
#include "iostream"
#include "fstream"
#include "vector"
#include "string"
using namespace std;
/*
ofstream 文件寫操作胸嘁,內(nèi)存寫入存儲(chǔ)設(shè)備
ifstream 文件讀操作,存儲(chǔ)設(shè)備讀取到內(nèi)存中
fstream 讀寫操作刊愚,對(duì)打開的文件可進(jìn)行讀寫操作
文件打開模式:
ios::in 只讀
ios::out 只寫
ios::app 從文件末尾開始寫,防止丟失文本中原有的內(nèi)容踩验,追加模式
ios::binary 二進(jìn)制模式
ios::nocreate 打開一個(gè)文件時(shí)鸥诽,如果文件不存在商玫,不創(chuàng)建
ios::noreplace 打開一個(gè)文件時(shí),如果文件不存在衙传,創(chuàng)建該文件
ios::trunc 打開一個(gè)文件時(shí)决帖,然后清空內(nèi)容
ios::ate 打開一個(gè)文件時(shí),將位置移動(dòng)到文件末尾
文件指針位置的C++中的用法:
ios::beg 文件開頭
ios::end 文件末尾
ios::cur 文件當(dāng)前位置
舉個(gè)例子:
file.seekg(0, ios::beg) 讓文件指針定位到文件開頭
file.seekg(0, ios::end) 讓文件指針定位到文件末尾
file.seekg(10, ios::cur) 讓文件指針從當(dāng)前位置向文件末尾方向移動(dòng)10個(gè)字節(jié)
file.seekg(-10, ios::cur) 讓文件指針從當(dāng)前位置向文件開始方向移動(dòng)10個(gè)字節(jié)
file.seekg(10,ios::beg) 讓文件指針定位到離文件開頭10個(gè)字節(jié)的位置
常用的錯(cuò)誤判斷方法:
good() 如果文件打開成功
bad() 打開文件時(shí)發(fā)生錯(cuò)誤
eof() 到達(dá)文件尾
*/
// 讀取hello.txt文件中的字符串蓖捶,寫入out.txt中
int main(){
ifstream infile("E:\\C++\\cpp_Code\\hello.txt"); // 讀操作
ofstream outfile("E:\\C++\\cpp_Code\\out.txt"); // 寫操作
string temp;
if(! infile.is_open()){
cout << "打開文件失敗" << endl;
}
while(getline(infile, temp)){
outfile << temp;
outfile << endl;
}
infile.close();
outfile.close();
return 0;
}
/*
getline()函數(shù)的作用:從輸入字節(jié)流中讀入字符地回,存到string變量中
直到遇到下面的情況停止:
讀入了文件結(jié)束標(biāo)志
讀到一個(gè)新行
達(dá)到字符串的最大穿長度
如果getline沒有讀入字符,將返回false俊鱼,用于判斷文件是否結(jié)束
*/
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者