c++文件操作
程序员文章站
2022-06-16 09:16:27
文件操作1、文件的定义和打开ifstream类: 读文件ofstream类: 写文件专类专事(只能进行读或者写)所以我们会使用fstream去操作文件,它时ifstream和ofstream类的父类。定义文件 fstream file;1.打开文件file.open(char* fileURL,int mode);mode: ios::in 读ios::out 写(清空重写)ios::app 追加模式 不具有创建功能ios::trunc:...
文件操作
1、文件的定义和打开
ifstream类: 读文件
ofstream类: 写文件
专类专事(只能进行读或者写)
所以我们会使用fstream去操作文件,它时ifstream和ofstream类的父类。
定义文件 fstream file;
1.打开文件
file.open(char* fileURL,int mode);
mode:
ios::in 读
ios::out 写(清空重写)
ios::app 追加模式 不具有创建功能
ios::trunc: 覆盖已经存在的文件
ios::binary 二进制写法
组合方式 |
ios::in | ios::out
判断文件是否打开: !file || !file.is_open任选其一,均可。
2.读写文件
读写有2种的方式:
2.1 流的方式做读写
2.2 成员函数的方式做读写 字节流
write(源地址,大小) 函数
read(源地址,大小) 函数
在读写时是以空格为分隔符,
fd << str2 << " " << 4 ;
fd.seekg(0, ios::beg); //指针移动回去 字节方式移动
int num=0;
char str[20] = " ";
fd >> str>>num; //要用类型对应的接收
注意在读写时,要记住你动了文件指针,需要回到原来时,记得移动。
3.关闭文件
file.close();
4.文件移动
C语言:fseek
seekg( size_t size , int position )
ios::beg 开头
ios::end 结尾
ios::cur 当前
5、文件指针位置获取
tellg(); //移动字节数
代码
以流的方式
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
fstream fd;
fd.open("2.txt", ios::out |ios::in);
if (!fd || !fd.is_open())
{
cout << "打开失败" << endl;
fd.open("2.txt", ios::out | ios::in|ios::trunc);
cout << "创建成功" << endl;
}
const char* str2 = "哈哈哈";
fd << str2 << " " << 4 ;
fd.seekg(0, ios::beg); //指针移动回去 字节方式移动
int num=0;
char str[20] = " ";
fd >> str>>num;
cout << str << num << endl;
int n = fd.tellg(); //文件指针
cout << n << endl;
fd.close();
system("pause");
return 0;
}
以成员函数的方式
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
fstream fd;
fd.open("3.txt", ios::in | ios::out);
if (!fd)
{
cout << "打开失败" << endl;
fd.open("3.txt", ios::out | ios::in | ios::trunc);
cout <<"创建成功"<<endl;
}
stu s[3] = { {1,"小"},{2,"中"},{3,"大"} };
fd.write((char*)s, sizeof(stu) * 3);
stu t[3];
fd.seekg(0, ios::beg);
fd.read((char*)t, sizeof(stu) * 3);
cout << t[1].id << "\t" << t[1].name << endl;
cout << t[2].id << "\t" << t[2].name << endl;
cout << t[0].id << "\t" << t[0].name << endl;
fd.close();
system("pause");
return 0;
}
本文地址:https://blog.csdn.net/weixin_51448994/article/details/114270559
下一篇: 去除最少括号输出合法的括号字符串
推荐阅读
-
避免重装delphi 重装操作系统后的处理方法
-
Axure文件怎么生成html分享链接?
-
百度云盘不用百度云管家下载大文件的方法图解(二选一)
-
Navicat(MySQL 图形化操作工具)图文使用教程(新建用户)
-
Filezilla Server FTP服务器安装操作手册
-
originpro9.1怎么进行函数绘图?Origin9.1函数绘图操作指南
-
电脑如何自定义警报的声音具体该如何操作
-
压缩文件损坏怎么办?WinRAR压缩包内置压缩文件修复功能帮您修复该问题
-
Lumion8 PRO怎么破解?Lumion 8.0设置屏蔽防火墙、hosts文件以及激活详细图文教程
-
在Linux中挂载ISO文件的两种方法(mount命令与mount软件)