📌  相关文章
📜  int main() { int sum =0;文件 * ptr; ptr = fopen("d:\\students.",""); if (ptr ==NULL){ ("文件不存在!!");退出(0); } - C 编程语言(1)

📅  最后修改于: 2023-12-03 14:42:07.779000             🧑  作者: Mango

C语言操作文件

本文介绍如何使用C语言进行文件的操作。文件操作是计算机编程中极为常见的一种操作,但在不同的编程语言中可能会有些许差异,因此需特别注意。

打开文件

以下是打开文件的代码示例,这里假设文件名为“students.txt”,且位于d盘根目录下。

int main() {
    int sum = 0;
    FILE * ptr;
    ptr = fopen("d:\\students.txt","r");
    if (ptr == NULL){
        printf("文件不存在!!");
        exit(0);
    }
    // 其他操作...
}
  • 可以看到,首先定义了一个指向 FILE 类型的指针变量 ptr,用于指向要打开的文件。
  • 接着使用 fopen() 函数打开文件,第一个参数是文件的路径,这里指定为d盘根目录下的“students.txt”,第二个参数为打开方式,这里使用“r”表示只读方式。
  • fopen() 函数的返回值为指向 FILE 类型的指针变量,如果文件不存在则返回 NULL。
  • 若文件不存在,可以使用 printf() 函数输出相应的提示信息,然后调用 exit() 函数结束程序。
  • 最后,还可以进行其他文件操作,如读写数据等。
读取文件

以下是读取文件的代码示例,假设文件中每行都是学生的姓名和成绩,用空格进行分隔。

int main() {
    int sum = 0;
    FILE * ptr;
    ptr = fopen("d:\\students.txt","r");
    if (ptr == NULL){
        printf("文件不存在!!");
        exit(0);
    }
    char name[20];
    int score;
    while (fscanf(ptr, "%s %d", name, &score) != EOF){
        printf("学生姓名:%s,成绩:%d\n", name, score);
    }
    fclose(ptr);
    return 0;
}
  • 可以看到,这里定义了 char 类型的数组变量 name 和 int 类型的变量 score,用于存储从文件读取的数据。
  • 使用 while 循环读取文件,feof() 函数用于判断文件是否已经到达文件末尾。
  • fscanf() 函数用于从文件中读取数据,第一个参数为文件指针变量,后面的参数用于指定读取的数据类型和格式。
  • fscanf() 函数返回值不是 EOF 时,说明文件还没有读到末尾,可以打印出读取的结果并继续读取下一行。
  • 最后使用 fclose() 函数关闭文件。
写入文件

以下是写入文件的代码示例,假设要将学生的姓名和成绩写入到“result.txt”文件中。

int main() {
    int sum = 0;
    FILE * ptr, *pResult;
    ptr = fopen("d:\\students.txt","r");
    if (ptr == NULL){
        printf("文件不存在!!");
        exit(0);
    }

    pResult = fopen("d:\\result.txt","w");
    if (pResult == NULL){
        printf("文件创建失败!!");
        exit(0);
    }

    char name[20];
    int score;
    while (fscanf(ptr, "%s %d", name, &score) != EOF){
        fprintf(pResult, "学生姓名:%s,成绩:%d\n", name, score);
    }
    fclose(ptr);
    fclose(pResult);
    return 0;
}
  • 可以看到,这里额外定义了一个 FILE 类型的指针变量 pResult,用于指向要写入的文件。
  • 使用 fopen() 函数打开要写入的文件,第二个参数为打开方式,这里使用“w”表示写入方式(若文件不存在则自动创建)。
  • 使用 fprintf() 函数将数据写入文件,第一个参数为文件指针变量,后面的参数与 printf() 函数类似,用于指定输出的内容和格式。
  • 最后也要使用 fclose() 函数关闭文件。
总结

以上就是C语言文件操作的一些基本内容,包括打开文件、读取文件和写入文件等。在进行文件操作时,需要特别注意打开方式,以及文件不存在等异常情况的处理。