我们在工作中,经常会处理文件,如果一门编程语言不能处理文件,那这个语言就显得比较鸡肋了,今天我们来看看如何用C语言处理文件~
文件类型
在C语言中,数据分为程序数据和普通数据,同样的存储这样数据我们可以称之为程序文件和数据文件。
程序文件:源文件(*.c),头文件(*.h),目标文件(*.obj),可执行文件(*.exe)等等。
数据文件:文本文件(*.txt),二进制文件(*.bin)等等
文件操作
文件操作主要包括打开、关闭,输入、输出,文件指针定位,判断文件读写结束等,这些都是一些函数,相对来说,比较简单。
操作文件通过文件指针,类型为FILE *,下面主要通过实例来学习文件操作。
open & close
文件打开和关闭是两个函数,所在头文件是stdio.h:
FILE *fopen( const char *restrict filename, const char *restrict mode );
功能:打开filename所指示的文件,并返回指向关联到该文件的文件流的指针。 mode 用于确定文件访问模式,常用的模式"r"或者"w",分别表示读和写,还有其他模式,想了解的同学可以参考https://c-cpp.com/c/io/fopen.html。
int fclose( FILE *stream );
功能:关闭给定的文件流。冲入任何未写入的缓冲数据到 OS 。舍弃任何未读取的缓冲数据。
下面我们通过实例来看一下。
#include <stdio.h> #include <stdlib.h> int main(void) { FILE* fp = fopen("test.txt", "r"); if(!fp) { perror("File opening failed"); return EXIT_FAILURE; } else { printf("File open successed\n"); } fclose(fp); return 0; }input & output
文件输入、输出有多个函数,我们主要分为两类:文本文件、二进制文件的输入输出操作。
文本文件
从文件输出:
int fgetc( FILE *stream );
char *fgets(char *str, int count, FILE *stream );
int fscanf(FILE \*File, const char *Format, ...);
int vfscanf(FILE *stream, const char *format, va_list ap);
向文件输入:
int fprintf(FILE *filename, const char *string, ...);
int vfprintf(FILE *stream, const char *format, va_list arg);
#include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { FILE* fp = NULL; fp = fopen("test.txt","w+"); fprintf(fp,"%d,%x,%o",16,16,16); fclose(fp); fp =NULL; int num1, num2, num3; fp = fopen("test.txt","r"); if (fp) { fscanf(fp,"%d,%d,%d", &num1, &num2, &num3); } printf("num1:%d\nnum2:%d\nnum3:%d\n", num1, num2, num3); fclose(fp); return 0; } 结果: num1:16 num2:10 num3:20
以上就是“c语言如何利用计算机编程处理文件?(c语言怎么操作文件)”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/9769/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料