C++文件读写与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回车即可退出循环

点这里可以跳转到人工智能网站

发表评论