-
C语言文件操作
2015-04-29 18:42:50c语言文件操作 -
c语言文件操作
2018-04-09 10:41:00c语言文件操作,大家有兴趣的可以看看,适合一些小白, -
C语言 文件操作
2019-04-22 15:12:43C语言文件操作 文件结构体 FILE*fp; 打开文件,关闭文件 fopen() FILE*fp=fopen(“XXX.txt”,“w”) ; fclose() fclose(fp); fopen(“路径+文件名”,“打开方式”); 打开方式: 文件使用方式由r,w,a...
C语言文件操作
从操作系统的角度来看,每一个与主机相连的输出输入设备都看作是一个文件。在程序运行时,常常需要将一些数据(运行的最终结果或中间数据)输出到磁盘上存放起来,以后需要时再从磁盘中输入到计算机的内存。这就要用到磁盘文件。C语言将文件看作是一个字符(字节)的序列,即一个一个字符(字节)的数据顺序组成。根据数据的组成形式,可分为ASCII文件和二进制文件。ASCII文件又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式按原样输出到磁盘上存放。因而一个C文件就是一个字节流或二进制流。它把数据看作是一连串的字符(字节),而不考虑记录的界限。换句话说,C语言中文件不是由记录(record)组成的(这是和PASCAL或其他高级语言不同的)。在C语言中对文件的存取是以字符(字节)为单位的。输出输入的数据流的开始和结束仅受程序控制而不受物理符号(如回车换行符)控制。也就是说,在输出时不会自动增加回车换行符作为记录结束的标志,输入时不以回车换行符作为记录的间隔(事实上C文件并不是由记录构成的)。把这种文件称为流式文件。C语言允许对文件存取一个字符,这就增加了处理的灵活性。
文件结构体
FILE*fp;打开文件,关闭文件
fopen() FILE*fp=fopen(“XXX.txt”,“w”) ; fclose() fclose(fp); fopen(“路径+文件名”,“打开方式”);
- 打开方式:
-
文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
参数 意义 r(read): 读 w(write): 写 a(append): 追加 b(banary): 二进制文件 +: 读和写 **
文件操作函数:
**
函数名 意义 fgetc(FILE *stream) 从流中读取字符 fputc(int c, File *fp) 将字符ch写到文件 fgets(buf,n,stdin) C语言中从文件中获取字符串函数 fputs(str,fp); 向指定的文件写入一个字符串 fscanf(FILEstream,constcharformat,[argument…]); 格式化输入 fprintf (FILE* stream, const char*format, [argument]) 传送格式化输出到一个文件中 fread ( void *buffer, size_t size, size_t count, FILE *stream) ; 从文件流中读数据,最多读取count个项 fwrite(const void* buffer, size_t size, size_t count, FILE* stream); 向指定的文件中写入若干数据块
int feof(FILE *stream);
feof是C语言标准库函数,其原型在stdio.h中,其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0
注意:feof判断文件结束是通过读取函数fread/fscanf等返回错误来识别的,故而判断文件是否结束应该是在读取函数之后进行判断。比如,在while循环读取一个文件时,如果是在读取函数之前进行判断,则如果文件最后一行是空白行,可能会造成内存错误。
int fseek(FILE *stream, long offset, int fromwhere);
重定位流(数据流/文件)上的文件内部位置指针
函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
-
c语言文件操作c语言文件操作
2011-05-26 23:55:50c语言文件操作非常好的!!c语言文件操作非常好的!!c语言文件操作非常好的!!c语言文件操作非常好的!! -
c语言 文件操作
2015-05-10 17:04:17c语言 文件操作文件类型指针 FILE *fp; fp是一个指向FILE类型结构体的指针变量。文件的打开 FILE *fp; fp=fopen("文件路径","文件使用方式"); 其中,文件使用方式有r,w,a,rb,wb,rb(读写)等。若要打开的文件失败...c语言 文件操作
文件类型指针
FILE *fp;
fp是一个指向FILE类型结构体的指针变量。
文件的打开
FILE *fp; fp=fopen("文件路径","文件使用方式");
其中,文件使用方式有r,w,a,rb,wb,rb(读写)等。
若要打开的文件失败,返回空指针NULL。
若向一个不存在的文件执行写操作:
fopen("data.txt","w");
系统会在当前目录下自动创建一个data.txt文件.
文件读写
(一)fputs,fgets
把一个字符写入磁盘文件中:
fputs(ch,fp);
从指定的磁盘文件读入一个字符:
ch=fgets(fp);
文件结束符:EOF
或者使用feof()判断文件是否结束
while(!feof(fp)) { ch=fgetc(fp); }
(二)fwrite,fread
fread(buffer,size,count,fp);
从fp所指向的文件一次读入count个长度为size的数据到buff(buff是指针)中。例如下例:读入2个4字节长度的数据存放到f所指向的内存单元:
fread(f,4,2,fp);
将buffer中的count个size字节的数据写入到fp文件中:
fwrite(buffer,size,count,fp);
(三)fgets,fputs
fgets(str,n,fp);
从fp所指向文件中读入一个字符串到str中,字符串长度为n。若在读完n-1个字符串之前遇到换行符或EOF则读入结束。返回str的首地址。
fputs("china",fp);
将字符串写入到fp指向的文件
(四)fprintf,fscanf
fprintf(fp,"%d %6.2f",i,t);
将i,t的值按照%d %6.2f的格式输出到fp所指文件中。
fscanf(fp,"%d %f",&i,&t);
将fp所指文件的内容按照%d %f格式写入到&i,&t所指内存单元。
文件定位
rewind(fp);
使位置指针重返文件开头;
fseek(fp,100,0);
从起始点+位移量(0+100)处开始读写文件。
文件关闭
fclose(fp);
-
c语言文件读写示例(c语言文件操作)
2020-09-04 15:37:59主要介绍了c语言文件读写示例(c语言文件操作),需要的朋友可以参考下