C和C++中的文件读入写出区别

1、先写写C的吧,在C语言中读入写出文件要用到fopen这个函数,而且要先定义文件指针,为了方便,我们不妨先定义两个,一个fp1用作输入文件指针,另一个fp2用作输出文件指针。

FILE *fp1,*fp2;

接下来我们使用fopen()函数以只读方式(r)打开输入文件input.txt

fp1 = fopen("input.txt","r");

然后使用fopen()函数以写入方式(w)打开输出文件output.txt

fp2 = fopen("output.txt","w");

接下来的事情就是将“从屏幕读入数据”改成“从文件读入数据”,这一步只要将代码中的所有"scanf"改成“fscanf”,然后在参数列表的第一位加上输入文件指针fp1,这样就可以从输入文件中读取内容了。

fscanf(fp1,"%d",&temp);

同理,将“把数据输出到屏幕”改成“将数据输出到文件”也是把代码中的所有“printf”改成“fprintf”,然后在参数列表的第一位加上输出文件指针fp2,这样就可以将数据写入到输出文件了。

fprintf(fp2,"%d",temp);

最后一步,使用fclose()函数关闭输入文件盒输出文件。

fclose(fp1);

fclose(fp2);

tips:前面只需要#inlcude <stdio.h>即可

2、再来看C++版的

要想对文件进行读写,必须先把fstream库包括到源文件里:

#include <fstream>
接下来,需要创建一个ofstream(output file stream输出文件流)类型的变量,代码如下:
std::ofstream fileOutput("filename");
然后直接就能往里面写了
fileOutput <<"hello world"<<"\n";
使用完毕之后也要记得关闭输出流
fileOutput.close();
同理,从文件输入也是一样的,创建一个ifstream即可
std::ifstream fileInput("filename");
后面就类似了,所以,总体上还是C++版本的更简洁一些。


你可能感兴趣的:(C和C++中的文件读入写出区别)