C++中的文件读写操作(1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "iostream"
#include "fstream"
#include "vector"
#include "string"

using namespace std;

/*
ofstream 文件写操作,内存写入存储设备
ifstream 文件读操作,存储设备读取到内存中
fstream 读写操作,对打开的文件可进行读写操作

文件打开模式:
ios::in 只读
ios::out 只写
ios::app 从文件末尾开始写,防止丢失文本中原有的内容,追加模式
ios::binary 二进制模式
ios::nocreate 打开一个文件时,如果文件不存在,不创建
ios::noreplace 打开一个文件时,如果文件不存在,创建该文件
ios::trunc 打开一个文件时,然后清空内容
ios::ate 打开一个文件时,将位置移动到文件末尾
文件指针位置的C++中的用法:
ios::beg 文件开头
ios::end 文件末尾
ios::cur 文件当前位置
举个例子:
file.seekg(0, ios::beg) 让文件指针定位到文件开头
file.seekg(0, ios::end) 让文件指针定位到文件末尾
file.seekg(10, ios::cur) 让文件指针从当前位置向文件末尾方向移动10个字节
file.seekg(-10, ios::cur) 让文件指针从当前位置向文件开始方向移动10个字节
file.seekg(10,ios::beg) 让文件指针定位到离文件开头10个字节的位置
常用的错误判断方法:
good() 如果文件打开成功
bad() 打开文件时发生错误
eof() 到达文件尾
*/

// 读取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()函数的作用:从输入字节流中读入字符,存到string变量中
直到遇到下面的情况停止:
读入了文件结束标志
读到一个新行
达到字符串的最大穿长度
如果getline没有读入字符,将返回false,用于判断文件是否结束
*/

本文标题:C++中的文件读写操作(1)

文章作者:Curry_Coder

发布时间:2019年08月09日 - 15:55:56

最后更新:2019年08月09日 - 15:56:47

原始链接:https://cdlwhm1217096231.github.io/C/C-中的文件读写操作-1/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------
觉得对您有所帮助,请我喝杯可乐吧!