当前位置:首页 » 编程语言 » c语言文件读写方式有几种
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言文件读写方式有几种

发布时间: 2022-08-10 23:36:13

㈠ 请问c语言打开文件时,r+ a+ w+几种读写的方式有什么不一样(尤其问下写

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

㈡ C语言的文件读写

回车和换行符转换成一个换行符
--
书本用的是老概念。
键盘输入,我们按Enter键,C/C++语言收到的就是'\n'
(新行符)。
打字机老概念:回车和换行,回车就是回到本行开始位置,换行就是到下一行。回车符
'\r'
,换行符'\n'
,
老码
CRLF。
“从键盘输入4个学生的数据是ASCII码,也就是文本文件”,把“也就是文本文件”删去。键盘输入是输入流,不叫文件。
“r”方式读入
--
fopen(文件名,"r")
--

"r"
方式
打开,是作为
文本文件打开,用于读。而不是用
二进制方式。
文件

wb
方式
打开和写成的,
必须用
rb
方式
打开和
读入.

b
用于
二进制文件。不

b
用于
文本文件(ASCII文件)
.

㈢ 如何用C语言读写文件

fopen
函数功能:打开一个文件
函数原型:FILE * fopen(const char * path,const char * mode);
相关函数:open,fclose,fopen_s,_wfopen
所需库:<stdio.h>
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。

函数简介
函数原型:FILE * fopen(const char * path,const char * mode);

返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。

一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。

参数说明:

参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

mode有下列几种形态字符串:

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

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

rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。

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

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

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

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

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

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

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

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

at+ 打开一个叫string的文件,a表示append,就是说写入处理的时候是接着原来文件已有内容写入,不是从头写入覆盖掉,t表示打开文件的类型是文本文件,+号表示对文件既可以读也可以写。

上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库以二进制模式打开文件。如果不加b,表示默认加了t,即rt,wt,其中t表示以文本模式打开文件。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask值。

有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。

二进制和文本模式的区别

1.在windows系统中,文本模式下,文件以"\r\n"代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"\r\n" 。

2.在类Unix/Linux系统中文本模式下,文件以"\n"代表换行。所以Linux系统中在文本模式和二进制模式下并无区别。

打开方式总结:各种打开方式主要有三个方面的区别:

①打开是否为二进制文件,用“b”标识。

②读写的方式,有以下几种:只读、只写、读写、追加只写、追加读写这几种方式。

③对文件是否必须存在、以及存在时是清空还是追加会有不同的响应。具体判断如下图。

参考http://ke..com/view/656681.htm?fr=aladdin

㈣ c语言写入文件方法

要写入文件,可以按照以下步骤进行操作:
1 在代码中引用stdio.h,即
#include <stdio.h>
C语言的所有文件操作接口,均声明在这个头文件中。
2 定义FILE *类型的变量。
3 打开文件,使用函数为fopen。格式为:
FILE *fopen(char *filename, char *mode);
参数filename为要写入的文件名,mode为打开的方式,如果仅需写入文件,可以使用"w"或
"wb"。
返回值为文件指针类型,赋值给之前定义的变量。如果返回值为NULL,代表打开失败,无法写入。
4 对文件进行写操作。C语言中有很多写文件的接口,包括fprintf, fwrite, fputs, fputc等等。
写操作可以执行多次。
5 在全部写操作完成后,执行fclose函数关闭文件指针。这样就实现了C语言写入文件。

㈤ c写文件的几种模式

文件
文件的分类:
按照用户角度分:
①设备文件:如显示器(printf)标准输出文件;键盘(scanf)标准输入文件
②普通文件:存放在磁等介质上的文件
按照文件的逻辑结构上分:
①记录文件(有定长记录、不定长记录两种)
②流式文件(由字符数据顺序组成如c语言程序)
按照文件的编码方式:
①文本文件(又称ascii文件,每个字节存放一个ascii码)(.c、.cpp、.h、.txt、.ini、)(常见的有五种)
②二进制文件(binary file)
文件操作函数:
一、文件的打开:文件指针名=fopen(“path\文件名”,“打开文件方式”)
“文件打开方式”:
rt-只读打开文本文件
wt-只写打开文本文件
at-追加打开文本文件,并在末尾写数据。

rb-只读打开二进制文件
wb-只写打开二进制文件
ab-追加打开二进制文件,并在末尾写数据。

rt+-读写打开文本文件,允许读写
wt+-读写打开或建立一个文本文件,允许读写。
at+-读写打开一个文本文件,允许读或在文件末尾追加数据。

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

r+w:可读写文件(具体是二进制文件还是文本文件要看打开文件的扩展名而定)
例如:fp=fopen(“C.dat”,“w+b”)

文件打开模式只有r、w、a、t、b、+、这六个字符拼成。
w:用w打开的文件只能向该文件写入数据(更准确是建立一个新的文件)(即将 信息从程序写入磁盘中)
a:用a打开对我文件只能向已存在的文件中追加信息
①对于文本文件应注意:从程序中读入内存时,要将ASCII码转换成二进制码;而 把文件以文本形式写入磁盘时,要将二进制码转换为ASCII码。
②fopen函数将返回一个文本文件结构的指针(该文件不存在时,返回NULL)
文件的关闭:fclose(fp);(作用强制性将存放在缓中的未满的数据写入到磁盘中, 然后释放文件指针,使其真正写入磁盘中)
fclose(fp);关闭成功时返回0,失败时返回EOR
文件的读写:
读字符函数— fgetc()
调用格式:字符变量=fgetc(文件指针(fp));
函数说明:
读字符时,文件必须以“读”或者“读写”的方式打开
读取的结果也可以不向字符变量赋值。例如fgetc(fp)
每读一个字符文件内部指针向前移动一个字符(文件内部指针不是文件指针,文件内部直镇不需要程序中定义说明由系统自动设置)
返回值:fgetc(fp):成功时函数返回读入的一个字符,若读到文件尾时或者出错时,返回值为“EOF”。
写字符函数—fputc()
调用格式:fputc(字符量(常量或者变量),文件指针(fp))
函数说明:
写字符时,文件可以用“写”“读写”“追加”的方式打开文件
写或者是读写的方式打开文件时,原有的内容将会被清除,从文件首部开始写入字符;若以追加的方式打开文件时,将在文件末尾开始写入字符。
函数的返回值:写入成功时,返回写入的字符;失败时,则会
返回“EOF”
每写入一个字符,“文件内部位置指针”向后移动一个字符
读字符串函数—fgets()
调用格式:fgets(字符数组名,n,文件指针(fp))
函数说明:
N是一个正整数,表示从文件中读取的字符串不超过N-1个字符。
读入最后一个字符后加上字符串结束标志'\0'.
读取过程中,遇到换行或者文件结束标志“EOF”(end of file)时,读取字符串结束。
写字符串函数—fputs()
调用格式:fputs(字符串量,文件指针)(字符串量,即可是字符串变量(c中为字符数组),由可是字符串常量)
函数说明:无
///////////////////////////////////////////////////////////////--这部分有点小问题(程序运行不了)
读数据块函数—fread()
调用格式:fread(p,size,n,fp)
函数说明:
P:指向输入/输出数据块的首地址的指针
Size:某类型数据存储空间的字节数(数据项大小)
N:此次从文件中读取的数据项数
Fp:文件指针变量
写数据块函数—frite()
调用格式:fread (p,size,n,fp)
函数说明:
P:指向输入/输出数据块的首地址的指针
Size:某类型数据存储空间的字节数(数据项大小)
N:此次从文件中读取的数据项数
Fp:文件指针变量
注意:fread、fwite函数在调用成功时,函数返回值为n的值,即输出的项数;如果失败,则返回(0)。

㈥ C语言如何读取文件

一个c语言读写文件程序:
#include
"stdio.h"
#include
<stdlib.h>
main()
{
FILE
*fp1;//定义文件流指针,用于打开读取的文件
FILE
*fp2;//定义文件流指针,用于打开写操作的文件
char
text[1024];//定义一个字符串数组,用于存储读取的字符
fp1
=
fopen("d:\\a.txt","r");//只读方式打开文件a.txt
fp2
=
fopen("d:\\b.txt","w");//写方式打开文件a.txt
while(fgets(text,1024,fp1)!=NULL)//逐行读取fp1所指向文件中的内容到text中
{
puts(text);//输出到屏幕
fputs(text,fp2);//将内容写到fp2所指向文件中
}
fclose(fp1);//关闭文件a.txt,有打开就要有关闭
fclose(fp2);//关闭文件b.txt
}

㈦ 在C语言中文件有几种操作类型

主要是两种文件类型:1)文本文件,2)
二进制文件

一般来说,人类可读的文件都作为文本文件,例如一片文章。其余都作为二进制文件,例如一个程序。
在C语言中,文件的操作是通过FILE
结构体
进行了,利用fopen返回一个指向FILE结构体的指针,在使用
fopen函数
过程中,使用mode控制符对是否打开哪类文件进行控制:
FILE
*fopen(
const
char
*filename,
const
char
*mode
);
filename:文件名,mode:打开的模式,规定了是可读、可写、追加之类的属性。
r
以只读方式打开
文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读写数据,文件必须存在。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
如果调用失败,返回一个空指针。