c语言文件读写方式:两种读写方式r和r+到底有什么区别啊?

Python014

c语言文件读写方式:两种读写方式r和r+到底有什么区别啊?,第1张

#include <stdio.h>

#include <stdlib.h>

int main()

{

FILE *fd

char buf[1024]

char e[10]

int i,j=3

if ((fd = fopen("file1.dat","ab+")) == NULL) //r是打开一个用于读取的文本文件.rb+是打开一个文件,并在末尾追加数据

{

printf("ERROR\n")

return 0

}

else

{

fread(buf,1024,1,fd) //读取源文件的内容,我写的file1.dat的文件内容为三个字符

buf[j] = '\0'

printf("原文件内容为%s\n",buf)

printf("请输入你要添加的数据\n")

gets(e) //你要加在源文件后面的内容,键盘输入

fwrite(e,strlen(e),1,fd) //把你输入的字符串加在文件后面

j+=strlen(e) //文件内容增加

fseek(fd,0,0) //把文件的标号偏移到开头

fread(buf,1024,1,fd) //读取写入后的文件内容

buf[j] = '\0'

printf("写入后的文件为%s\n",buf)

}

}

r是打开只读文件.

这是我改的,可以读写

对于文件使用方式有以下几点说明:

1)文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:

r(read):读

w(write): 写

+: 读和写

a(append): 追加

t(text):文本文件,可省略不写

b(banary): 二进制文件

2)用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。

3)用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。

4)若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。

5)在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。