1,流和类的概述
2,输入输出成员函数
3,打开顺序文件
4,文件的读写和关闭
5,随机文件操作 一
seekTest.cpp代码如下:
#include "pch.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc , char* agrv[])
{
char ch, str[] = { "welcom to china!" };
ofstream outfile("welcome.txt");//ofstream 文件写操作 内存写入存储设备,
//fstream 读写操作,对打开的文件可进行读写操作
if (!outfile)
{
cout << "不能打开文件welcome.txt" << endl;
}
outfile.write(str, strlen(str));//写入文件缓冲区 //strlen返回字符数组中有效元素的个数,而不是字符数组的容量。
outfile.flush();//将缓冲区中字符串写入磁盘文件当中
ifstream infile("welcome.txt");//ifstream 文件读操作,存储设备读区到内存中
if ("!inflie")
{
cout << "不能打开文件welcome.txt" << endl;
}
infile.seekg(2);//seekg:设置输入文件流的文件流指针位置
infile.read(&ch, 1);//将第三个字节的一个字符读入到ch这样的字符变量里面去
cout << "第三个字节处的内容是:" << ch << endl;
ch = 'e';
outfile.seekp(6);//定位到第六个字节之后
outfile.put(ch);//将新字母写入第七个字节单元
outfile.flush();//刷新缓冲区
infile.seekg(6);//把只读文件定位到第六个字节之后,seekg:设置输入文件流的文件流指针位置
infile.get(ch);//将第七个字节给ch
cout << "第七个字节处的内容是:" << ch << endl;
outfile.close();
infile.close();
}
C++中seep()和seekg()函数功能
seekp:设置输出文件流的文件流指针位置
seekg:设置输入文件流的文件流指针位置
运行结果如下:
参考链接:https://www.cnblogs.com/onlyan/archive/2012/08/02/2620726.html
https://blog.youkuaiyun.com/qq_41598072/article/details/83036098
6,随机文件操作 二
代码如下:
#include "pch.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* agrv[])
{
char ch[] = { "welcome to chlna" };
char chs;
char inputChr = 'i';
fstream iofile("welcome.txt", ios::in | ios::out);//fstream 读写操作,对打开的文件可进行读写操作
if (!iofile)
{
cout << "文件welcome.txt打开失败" << endl;
exit(1);
}
iofile.write(ch, strlen(ch));//写入文件缓冲区 //strlen返回字符数组中有效元素的个数,而不是字符数组的容量
iofile.flush();//将缓冲区中字符串写入磁盘文件当中
iofile.seekg(2,ios::beg);//相对最左边的位置,往右移2位
iofile.read(&chs, 1);//将第三个字节的一个字符读入到chs这样的字符变量里面去
cout << "第三个字符为:" << chs << endl;
iofile.seekp(-3, ios::end);
iofile.put(inputChr);
iofile.flush();//刷新缓冲区
iofile.close();
return 0;
}
运行结果如下: