C++ 文件的简单操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 文件的简单操作相关的知识,希望对你有一定的参考价值。

===================================================================

    编写程序时,很多时候都要对文件进行操作,比如从文件中读取数据,通过程序将一些数据保存到文件中等等。。

    以下是c++对文件的一些简单操作。

===================================================================

一.文件输出

 要将程序中的数据输出到文件中,一般需要以下5个步骤:

① 包含fstream头文件:#include <fstream>

② 建立ofstream对象:ofstream ocout;

③ 将对象与文件关联:ocout.open(“file.txt”);

④ 使用该对象将数据输出到文件test中:ocout<<”C++文件操作。”;

⑤ 关闭与文件的连接:ocout.close();

 

几点注意:

    1.通过以上步骤将数据输出到file.txt文件中,而不是屏幕上。

    2.虽然不写最后一步的ocout.close(),有些情况下也可以将数据输出到文件中,但是为了安全起见,ocout.close()一定要写。

    3.ocout.open("file.txt"),如果没有file.txt 文件,则会自动创建此文件。

 

完整程序:

技术分享

程序运行后,打开文件,就能看到所输入的文字:
技术分享

 

二.文件读取

打开文件读取数据的方法和输出数据到文件中的方法基本上是一样的,同样也需要5个步骤:

① 包含fstream头文件:#include <fstream>

② 建立ifstream对象:ifstream icin;

③ 将对象与文件关联:icin.open(“file.txt”);

④ 使用该对象读取文件test中的数据到数组temp中:icin>>temp;

⑤ 关闭与文件的连接:icin.close();

 

程序示例:

技术分享

 

运行一下:

技术分享
可以看到已经将file文件中的一句话读入了。

如果将file文件中的这句话中间加入一个空格:c++  文件操作

运行后:

技术分享
可以看到只读取了空格前面的数据,

事实上,>>在读取数据时,遇到空格或者‘\0‘会停止读取,如果要继续读取后面的数据,使用>>继续读取。

读取空格及其后面的内容

使用getline()可以做到

********************************************************************************

 1 basic_istream::getline
 2 
 3 basic_istream<Elem, Tr>& getline(
 4 
 5     char_type *_Str, 
 6 
 7     streamsize _Count
 8 );
 9 
10 basic_istream<Elem, Tr>& getline(
11 
12     char_type *_Str, 
13 
14     streamsize _Count, 
15 
16     char_type _Delim
17 );

 

其中各参数如下:

_Count

The number of characters to read from strbuf.

读取的字符数

_Delim

The character that should terminate the read if it is encountered before _Count.

结束符号(默认的结束符号是‘\n‘,这里可以采用自定义的结束符号替换默认结束符号,意思是读取字符数范围内遇到_Delim就停止)

_Str

A string in which to write.

读取到流中的字符串

****************************************************************************************************

修改上面代码:

技术分享
运行之后

技术分享
中间有空格,也可以输出了

 

以上是关于C++ 文件的简单操作的主要内容,如果未能解决你的问题,请参考以下文章

C++:在 Windows 上使用 C++ 读写 BMP 文件的最简单方法是啥?

C++笔记--Linux编程-linux文件和输入输出 文件和目录操作

C++强化 | 12 格式化输入输出与文件操作

2013级C++第15周(春)项目——输入输出流及文件文件操作

C++ 文件的简单操作

c++ 文件操作详解