getline 函数的用法
1.ofstream
头文件:<fstream>
文件不存在时会自动创建文件
当文件读写操作完成之后,我们必须将文件关闭以使文件重新变为可访问的。成员函数close(),它负责将缓存中的数据排放出来并关闭文件。这个函数一旦被调用,原先的流对象就可以被用来打开其它的文件了,这个文件也就可以重新被其它的进程所访问了。为防止流对象被销毁时还联系着打开的文件,析构函数将会自动调用关闭函数close。
为了原来的内容不被覆盖,需要显示指定ofstream::app
2.ifstream
头文件:<fstream>
(1)读取方式: 逐行读取, 将行读入字符串, 行之间用回车换行区分
输出结果:
(2)读取方式: 逐词读取, 词之间用空格区分
用in>> str替代getline(in, str)
输出结果:
(3)读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分
3.文件的简单复制
ps: 可以不带c_str()
4.getline() 详解
头文件:<string>
getline()的原型是istream& getline ( istream &is , string &str , char delim );
其中 istream &is 表示一个输入流,譬如cin;
string&str表示把从输入流读入的字符串存放在这个字符串中(可以自己随便命名,str什么的都可以);
char delim表示遇到这个字符停止读入,在不设置的情况下系统默认该字符为'\n',也就是回车换行符(遇到回车停止读入)。
ps: 对于while(getline(cin,line)) 语句,这里默认回车符停止读入,按Ctrl+Z或键入EOF回车即可退出循环。