i3geek.com
闫庚哲的个人博客

简单阐述C/C++中从文件的输入输出

C语言

FILE *fp;				//文件指针,指向要分析的源程序

if((fp=fopen(sourceFile,"r"))==NULL)		//判断源文件是否存在
	printf("文件%s不存在", sourceFile);

cbuffer = fgetc(fp);		//读入字符

fclose(fp);

FILE *fp = fopen("c:\\test.dat","w");//写数据
fwrite(buf,1,10,fp);
fclose(fp);

fopen中w w+ wb区别:

r 以只读方式打开文件,该文件必须存在。

r+ 以可读写方式打开文件,该文件必须存在。

rb+ 读写打开一个二进制文件,只允许读写数据。

rt+ 读写打开一个文本文件,允许读和写。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

wb 只写打开或新建一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。

wt+ 读写打开或着建立一个文本文件;允许读写。

at+ 读写打开一个文本文件,允许读或在文本末追加数据。

ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

 C++

freopen("in.txt","r",stdin); //输入重定向,输入数据将从in.txt文件中读取
freopen("out.txt","w",stdout); //输出重定向,输出数据将保存在out.txt文件中

fclose(stdin);
fclose(stdout);

 

FILE * freopen ( const char * filename, const char * mode, FILE * stream );

 

【参数说明】

filename: 要打开的文件名

mode: 文件打开的模式,和fopen中的模式(r/w)相同

stream: 文件指针,通常使用标准流文件(stdin/stdout/stderr)

赞(0)
未经允许不得转载:爱上极客 » 简单阐述C/C++中从文件的输入输出
分享到: 更多 (0)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    C语言学习中。

    屠龙5年前 (2014-05-24)回复
    • 一同学习 一同进步!

      yan5年前 (2014-05-24)回复