在C++头文件主要有哪些?怎样使用文件流的输入和输出?

在C++头文件主要有哪些?怎样使用文件流的输入和输出?,第1张

编译器自带的文件都在安装目录的include文件夹下

包括iostream,math等 可根据需要在文件中引入

也可以自定义头文件,只要写成*.h形式就可以了

在引入时用#include "XXXX.h" 不能用<>,使用相对路径

C++中建议用这种形式:

#include <iostream>//没有.h 这个是输入输出流

#include <cmath>//在前面加c 一样没有.h 表示是C语言中的

//这个是数学函数 引入后可以使用sin() 之类的

using namespace std//这是命名空间

文件 *** 作要引入 #include <fstream>//文件流

这里有个例子:你可以去参考一下:

#include <iostream>

#include <fstream>

using namespace std

int main() //文本形式读写文件

{

char ch

cout<<"open file"<<endl

ifstream fin("F:\\a.txt")

if(!fin)

{

cout<<"can not open infile!"<<endl

//return

}

fin.close()

ofstream fout("F:\\a.txt")

if(!fout)

{

cout<<"can not open outfile!"<<endl

//return

}

while(fin.get(ch))

{

cout<<ch

if(fout)

fout.put(ch)

}

fin.close()

fout.close()

return 0

}

也可以用C的方式去 *** 作:http://zhidao.baidu.com/question/80580297.html

可以使用fgets函数来实现。

1 函数名:

fgets

2 声明形式:

char *fgets(char *buf, int bufsize, FILE *stream)

3 头文件:

stdio.h

4 功能及参数说明:

从stream中读取一行数据存到buf中。如果数据长度小于bufsize,那么读入整行数据,并将换行符转换为字符串结束符\0。 如果数据长度超过bufsize,那么只读入bufsize大小的数据,并在结尾添加\0。

5 返回值:

成功,则返回第一个参数buf;

在读字符时遇到end-of-file,则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;

如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。

假如定义一个文本,格式如下:

1 2 3

2 3 4

3 4 5

5 6 7

7 8 9

文件名为test.txt(包含5行)

C++代码如下:

#include <iostream>

#include <sstream>

#include <fstream>

#include <string>

int main(int args, char **argv)

{

std::ifstream fin("split.txt", std::ios::in)

char line[1024]={0}

std::string x = ""

std::string y = ""

std::string z = ""

while(fin.getline(line, sizeof(line)))

{

std::stringstream word(line)

解读代码:

word >>x

word >>y

word >>z

std::cout <<"x: " <<x <<std::endl

std::cout <<"y: " <<y <<std::endl

std::cout <<"z: " <<z <<std::endl

}

fin.clear()

fin.close()

return 0;

}

下面介绍代码:首先说明一下头文件,头文件中<iostream>, <string>的作用就不用说了,<fstream>是定义文件的需要的头文件,而<sstream>是字符串流stringstream所需要的头文件。

第8行: std::ifstream fin("split.txt", std::ios::in)定义读取的文本文件。

第9行: char line[1024] = {0}用于定义读取一行的文本的变量。

第10--12行,定义了 x y z 三个字符串变量,用于存放读取一行数据后,分别存放每行的三个数据。

第13--22行,用一个循环读取每行数据,读取行的函数是getline()函数,然后利用stringstream将每行文本自动按照空格分列,并分别存放到对应的三个字符串变量中。

23、24行代码,就是刷新缓存,并关闭文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11724109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存