C++文件读写与getline()

来源:互联网 发布:基础建筑学软件 编辑:程序博客网 时间:2024/05/22 07:55

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回车即可退出循环



阅读全文
0 0
原创粉丝点击