作者:非妃是公主
专栏:《笔记》《C++》
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩
文章目录
今天遇到了一个C++文件读写的问题,在此总结一下。
首先,文件读写要包含一个的库,然后利用其中的ifstream和ofstream创建实例对象,通过该对象,将文件中的数据流入程序中,或将程序中的数据流向文件。
先看,写文件:
下面展示 写文件代码片
。
int test08() {
ofstream out;
out.open("ofname.txt");
if (!out)
cout << "打开失败" << endl;
out << "666,你成功了,hhh";
out.close();
return 0;
}
写文件,相对容易实现,几乎不用考虑类型的匹配。
结果如下图,不用担心没有文件,如果没有相应的文件,系统会默认在项目文件夹中将创建一个。
再来看,读文件。
下面展示一些 读文件代码片
int test09() {
ifstream in("ofname.txt");
string s;
int n = 0;
in >> s;
cout << s;
in.close();
return 0;
}
结果如下图:
看起来也很简单是嘛?但是如果对所读文件稍加修改,结果就会不同。
例如:在文件中插入一个空格。
如图:
我们再来运行一下相同的程序,会发现,只剩下了666。
如图:
这是因为,空格是string读取的截至符,到空格string的传入就自动停止了。
如果我们还想继续把后面的传入到程序中。
下面展示 可以读空格的代码片
。
int test09() {
ifstream in("ofname.txt");
string s;
int n = 0;
//in >> s;
getline(in, s);
cout << s;
in.close();
return 0;
}
不难发现,我们利用了一个getline()函数,函数的第一个参数为ifstream对象,第二个为程序中的string对象,即将从文件中读取到的数据保存到string中;我们再来运行一下啊:
如图:
可以看到,空格后面的程序也出来了。
了解了以上就基本掌握了程序的读写操作了。
欢迎留言一起交流!