📜  C中文件处理的基础(1)

📅  最后修改于: 2023-12-03 15:30:14.415000             🧑  作者: Mango

C中文件处理的基础

文件处理是任何程序设计语言中最基本的功能之一,C语言也不例外。本文将介绍C语言中的文件处理基础。

文件操作函数

C语言中文件操作的相关函数集中在stdio.h头文件中。下面是其中一些常用的文件操作函数:

fopen
FILE *fopen(const char *filename, const char *mode);

该函数用于打开一个文件,并返回一个文件指针。其中filename表示文件的路径和名称,mode表示文件的打开方式。mode的可选值有:

  • "r":只读方式打开文件。如果文件不存在,则返回NULL。
  • "w":只写方式打开文件。如果文件不存在,则创建一个新文件;否则将文件内容清空。
  • "a":以追加方式打开文件。如果文件不存在,则创建一个新文件;否则在文件尾部添加写入内容。
  • "r+":读写方式打开文件,文件指针在文件开头。如果文件不存在,则返回NULL。
  • "w+":读写方式打开文件,如果文件不存在,则创建一个新文件;否则将文件内容清空。
  • "a+":读写方式打开文件,开始读取之前先定位到文件尾部,以追加方式写入。如果文件不存在,则创建一个新文件。
fclose
int fclose(FILE *stream);

该函数用于关闭一个文件,stream是指向要关闭的文件的文件指针。该函数返回值为0表示成功关闭文件,返回值不为0表示关闭文件失败。

fgetc
int fgetc(FILE *stream);

该函数用于从一个文件中获取一个字符。如果读取成功,则返回所读取的字符;如果已经到达文件结尾,则返回EOF。

fputc
int fputc(int c, FILE *stream);

该函数用于将一个字符写入一个文件中。其中c表示要写入的字符,stream是指向要写入的文件的文件指针。如果写入成功,则返回所写入的字符;如果写入失败,则返回EOF。

fgets
char *fgets(char *str, int n, FILE *stream);

该函数用于从一个文件中获取一行字符串,其中str是一个指向字符数组的指针,用来存放读取的字符串;n是一个整数值,表示读取字符串的最大长度。该函数返回值为str,如果读取失败或已经到达文件结尾,则返回NULL。

fputs
int fputs(const char *str, FILE *stream);

该函数用于将一个字符串写入一个文件中,其中str是要写入的字符串,stream是指向要写入的文件的文件指针。如果写入成功,则返回非负数;如果写入失败,则返回EOF。

文件示例

下面是一个简单的文件操作示例:

#include<stdio.h>

int main()
{
    char ch;
    FILE *fp;
    fp = fopen("example.txt", "r");
    if(fp == NULL)
    {
        printf("无法打开文件 example.txt");
        return 0;
    }
    while((ch = fgetc(fp)) != EOF)
    {
        printf("%c", ch);
    }
    fclose(fp);
    return 0;
}
结论

C语言中的文件操作基础已经介绍完毕。在实际编程中,文件操作是一个非常常见的需求,对于程序员来说,能够熟练地掌握文件操作函数是非常重要的。