C++对txt文件的写入读取操作
阿宝coding 2024-07-02 16:05:03 阅读 57
文章目录
1.文件流知识2.文件的写入3.文件内容的输出
1.文件流知识
摘自c++中文网
ifstream是输入文件流(就是通过它定义的对象获取文件中的内容)ofstream是输出文件流(将内容写入文件)
注意:要使用输入输出文件流要包含头文件#include<fstream>
2.文件的写入
首先要用ofstream定义一个输入对象ofstream outf;
这里的outf可以自定义
接着用outf.open(文件路径)
打开文件
注意: (1)这里的路径如果不写的话,文件会自动存放到工程所在目录
(2)文件的路径中的 / 与c++中转义字符冲突,所以要改为双斜杠
用outf<<"666";
将“666”写入文件(举例)outf.close()
关闭文件
下面看代码演示:
int main() //注意#include<fstream>头文件
{
ofstream outf; //用ofstream类定义输入对象
outf.open("D://test01.txt"); //文件绝对路径(注意双斜杠取消转义)
outf<<"I am DB"<<endl;
outf<<"I like learning"<<endl; //写入内容
outf.close();
}
结果展示:
扩展:
(1)在文件打开时可以添加不同的打开方式(比如:打开文件时希望在原有内容上续写就要加上ios::app,如果不加默认打开方式会将文件原来的内容覆盖)
摘自c语言中文网
ios::app的使用
int main()
{
string s;
ofstream outf; //用ofstream类定义输入对象
outf.open("D://test01.txt"); //文件绝对路径(注意双斜杠取消转义)
outf<<"I am DB"<<endl;
outf<<"I like learning"<<endl; //写入内容
outf.close();
ifstream inf; //用ifstream类定义输入对象
outf.open("D://test01.txt",ios::app); //再次用ios::app的方式打开txt文件
outf<<"这是一行追加内容!"<<endl;
inf.open("D://test01.txt");
while(getline(inf,s)) //获取一行内容
{
cout<<s<<endl;
}
inf.close();
outf.close();
}
结果:
3.文件内容的输出
内容和文件写入类似
看代码实例:
1 .一行行输出文件内容
int main()
{
string s;
ofstream outf; //用ofstream类定义输入对象
outf.open("D://test01.txt"); //文件绝对路径(注意双斜杠取消转义)
outf<<"I am DB"<<endl;
outf<<"I like learning"<<endl; //写入内容
ifstream inf; //用ifstream类定义输入对象
inf.open("d://test01.txt"); //注意输出流要先打开文件!!!
while(getline(inf,s)) //获取一行内容
{
cout<<s<<endl;
}
inf.close();
outf.close();
}
结果:
getline的用法参考:c语言中文网
2 .以空格和换行为分界逐个输出
int main()
{
string filename="D://test03.txt";
ofstream fout;
fout.open(filename); //可以用字符串赋值为文件路径
fout<<"This is the second time"<<endl;
fout<<"I will be the first"<<endl;
//以下为文件内容输出部分
ifstream fin;
fin.open(filename); //注意读取文件时,要先打开文件
char buf[1024]={ 0}; //创建一个数组用于临时存放从文件获取的内容
while(fin>>buf)
cout<<buf<<endl; //在while循环中逐个输出
fout.close();
fin.close();
system("pause");
return 0;
}
结果:
有关更多对txt文件的操作会在之后更新!!!
感谢支持!!!
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。