博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++对文件的操作
阅读量:5136 次
发布时间:2019-06-13

本文共 3107 字,大约阅读时间需要 10 分钟。

1. 文件写入:

#include 
using namespace std;void main(){ ofstream out; //创建一个文件输出流 out.open("C:\\123.txt"); //输出到文件 out << "锄禾日当午,汗滴禾下土。" << endl; out.close(); system("C:\\123.txt");}

2. 文件读取:

#include 
#include
using namespace std;void main(){ ifstream in; //创建一个文件输出流 in.open("C:\\123.txt"); //从文件读取 char str[256]{ 0 }; //in >> str; in.getline(str, 256);//处理空格 in.close(); cout << str << endl; cin.get();}

3. 文件追加:

#include 
using namespace std;void main(){ ofstream out; //创建一个文件输出流 out.open("C:\\123.txt",ios::app); //追加方式写入文件 out << "谁知盘中餐,粒粒皆辛苦。" << endl; out.close(); system("C:\\123.txt");}

    

4. 文本文件读写:

#include 
#include
using namespace std;struct info{ char name[10]; int id; double price;};void main(){ struct info infs[3] = { {
"xiaohua",99,5000},{
"xiaohong",89,4000},{
"xiaoli",79,3000} }; //ofstream fout("C:\\3-文件操作练习\\1.txt",ios::out|ios::app); ofstream fout("C:\\3-文件操作练习\\1.txt"); for (auto i : infs) { fout << i.name << " " << i.price << " " << i.id << endl; } fout.close(); ifstream fin("C:\\3-文件操作练习\\1.txt"); for (int i = 0; i < 3; i++) { char str[255]{ 0 }; fin.getline(str, 254); cout << str << endl; } fin.close(); cin.get();}

5. 二进制文件读写:

#include 
#include
using namespace std;struct info{ char name[10]; int id; double price;};void main(){ struct info infs[3] = { { "xiaohua",99,5000 },{ "xiaohong",89,4000 },{ "xiaoli",79,3000 } }; ofstream fout("C:\\3-文件操作练习\\2.bin",ios::binary); fout.write((char *)infs, sizeof(infs)); //从内存写入磁盘 fout.close(); struct info infshua[3]{ 0 }; ifstream fin("C:\\3-文件操作练习\\2.bin", ios::binary); fin.read((char *)infshua, sizeof(infshua)); fin.close(); for (auto i : infshua) { cout << i.name << " " << i.price << " " << i.id << endl; } cin.get();}

6. 文件指针移动:

  (1)移动到合适位置,读:

#include 
#include
using namespace std;void main(){ ofstream fout("C:\\3-文件操作练习\\3.txt"); if (!fout) { cout << "文件操作失败!\n" << endl; } fout << "123456789abcdefghijklmnopqrstuvwxyz" ; fout.close(); ifstream fin("C:\\3-文件操作练习\\3.txt"); if (fin.fail()) { cout << "文件操作失败!\n" << endl; } fin.seekg(9, ios::beg);//文件指针从开始移动9个位置 读 char ch; while (fin.get(ch)) { cout << ch; } fin.close(); cin.get();}

  (2)移动到合适位置,写:

#include 
#include
using namespace std;void main(){ ifstream fin("C:\\3-文件操作练习\\3.txt"); if (fin.fail()) { cout << "文件操作失败!\n" << endl; } char ch; while (fin.get(ch)) { cout << ch; } fin.close(); ofstream fout("C:\\3-文件操作练习\\3.txt"); if (!fout) { cout << "文件操作失败!\n" << endl; } fout.seekp(5, ios::beg); fout << "hello world" << endl; fout.close(); cin.get();}

 

转载于:https://www.cnblogs.com/si-lei/p/9535295.html

你可能感兴趣的文章
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
django迁移数据库错误
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
距离公式汇总以及Python实现
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
php match_model的简单使用
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>