您的位置:首页 > 其它

文件操作-----图解文件的读写方式

2016-09-13 19:32 239 查看
文件的读写方式:

方式
含义
如果指定的文件不存在
"r" (只读)

打开,只读
出错
"w" (只写)

打开,文件指针指到头,只写
建立新文件
"a" (追加)

打开,指向文件尾,在已存在文件中追加
出错
"r+" (读写)

以读/写方式打开一个已存在的文件
出错
"w+" (读写)

以读/写方式建立一个新的文本文件
建立新文件
"a+" (读写)

以读/写方式打开一个文件文件进行追加
出错
"rb" (只读)

打开一个二进制文件,只读
出错
"wb" (只写)

打开一个二进制文件,只写
建立新文件
"ab" (追加)

打开一个二进制文件,进行追加
出错
"rb+" (读写)

以读/写方式打开一个二进制文件
出错
"wb+"(读写)
以读/写方式建立一个新的二进制文件
建立新文件

"ab+"(读写)

以读/写方式打开一个二进制文件进行追加
 出错
:Jason  Gel  

1、  只有”w”字符在现场时候,才能开辟新的文本文件,其他字符必须当文本文件存在时候才可以进行相应的操作;此外,”w”字符又特别的”洁癖”,喜欢新的东西,即使该文本文件已经存在,它会在打开文件之前先将该文件删去,然后建立一个专门属于它的新文件

2、  文件缓冲区:每个正在被使用的文件,在内存区会对应一个文件缓冲区。从内存向磁盘输出数据必须送到内存中的缓冲区,缓冲区满之后才一起送到磁盘上;如果从磁盘向计算机,则一次从磁盘文件将一批数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区。

3、  文件指针:缓冲文件系统中,最重要的是文件指针。每个被使用的文件都在内存中开辟相应的一个文件信息区,用来存放文件的有关信息(名字、文件形态、文件当前位置、缓冲区大小等)。这些信息都被保存在一个结构体变量FILE中。

4、  数据流:输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流,即数据流。C语言中把文件看作一个字符(或字节)的序列,即由一个一个字符(或字节)的数据顺序组成。一个输入输出流就是一个字符流或字节(内容为二进制数据) 流。

相关实例:

/* Jason Gel   2016-9-16  文件的打开方式
NO1.C:\\file\\source.txt   特别注意中间是双斜线,不同于Windows目录的单斜线;
NO2.函数原型 FILE * fopen (char const *name ,char const *mode ); 函数的两个参数都是字符串,返回值是一个文件类型指针;
int  fclose (FILE *fp);  fclose()有一个int型的返回值,当关闭文件成功时返回值是0,否则返回EOF(-1);

*/
#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define  sourcename "C:\\file\\source.txt"
#define  destname   "C:\\file\\dest.txt"
FILE  *fsource , *fdest;
char ch ;

int main()
{
if ((fsource = fopen ( sourcename,"r")) == NULL )
{
printf("open source  file error !");
return 1 ;
}
if ((fdest = fopen ( destname,"w")) == NULL )
{
printf("open destination  file error !");
return 2  ;
}

//复制原文件到目标文件,每次复制一个字符
while(  (ch = fgetc(fsource)) != EOF )
{
printf("%c",ch);     //字符输出到屏幕显示
fputc(ch , fdest);
}
printf("\n");
fclose(fsource);
fclose(fdest);
system("pause");
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: