C++文件读写
在对文件进行操作时,必然离不开读写文件。在使用程序查看文件内容时,首先要读取文件,而要修改文件内容时,则需要向文件中写入数据。
tips:觉得理论知识无聊的同学直接看最后的文件读写样例。
文件流
1、文件流分类:
ifstream file; //声明一个文件输入流
ofstream file; //声明一个文件输出流
fstream file; //声明一个文件输入/输出流
说明了流对象之后,可以使用open函数打开文件。
2、文件流成员函数:
只是一些常用的,其他函数还有很多。
函数 | 功能描述 |
---|---|
attach | 在一个打开地文件与流直接建立连接 |
close | 刷新数据后关闭 |
flush | 刷新流 |
open | 打开文件与流连接 |
put | 把一个字节写入流 |
seekp | 设置流文件指针位置 |
setmode | 设置流的模式 |
tellp | 获取流文件指针位置 |
write | 把一组字节写入流 |
3、fstream成员函数:
函数 | 功能描述 |
---|---|
get( c ) | 从文件读取一个字符 |
getline(str,n) | 从文件读取字符串str的前n个字符 |
peek() | 查找下一个字符 |
put( c ) | 将一个字符写入文件 |
putback( c ) | 对输入流返回一个字符 |
eof | 如果读取超过eof,返回true |
ignore(n) | 跳过n个字符 |
使用ifstream和ofstream实现文件读写样例
ifstream、ofstream入门应用源代码:
tips:内有详细解析
#include<iostream>
#include<fstream> //调用文件输入输出头文件
#include<string.h>
using namespace std;
int main(){
char c[30];
ofstream ofs; //定义一个文件输出流ofs
//输出流即写入流,将流的内容写入到文件
ofs.open("myfile.txt");
//通过ofs打开一个名为“myfile”的txt文件,如果没有此文件,则自动新建。
for(int i=0;i<6;i++){
memset(c,0,30); //c的初始化
cin>>c;
ofs<<c; //通过文件输出流ofs将c的内容输出到txt文件
//↑这一句是文件输出的核心
}
ofs.close(); //关闭文件输出流
ifstream ifs("myfile.txt");
//定义一个文件输入流ifs,要打开的文件是名为“myfile”的txt文件
//输入流即读取流,通过流读取文件内容
while(!ifs.eof()){ //若打开的文件里仍有内容
char c2;
ifs.get(c2);
//通过ifs.get函数通过读取流ifs读取文件内的一个字符并赋值给c2
if(!ifs.eof())
cout<<c2; //输出
}
ifs.close(); //关闭文件输入流
return 0;
}
结果图:
这样程序将自动在源目录创建一个myfile.txt