编程学习网 > 编程语言 > C/C++开发 > c语言如何利用计算机编程处理文件?(c语言怎么操作文件)
2022
07-18

c语言如何利用计算机编程处理文件?(c语言怎么操作文件)

我们在工作中,经常会处理文件,如果一门编程语言不能处理文件,那这个语言就显得比较鸡肋了,今天我们来看看如何用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语言教程欢迎持续关注编程学习

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取