📜  C |输入和输出|问题13(1)

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

C | 输入和输出 | 问题13

在C语言中,输入和输出是非常重要的基本操作。问题13是另一个与输入和输出相关的问题,我们将要讨论如何在C程序中读取和写入文件。

读取文件

要在C程序中读取文件,我们使用fopen函数来打开文件,并使用fscanf函数来读取文件的内容。

下面是一个示例代码,演示了如何打开文件并读取其中的内容:

#include <stdio.h>

int main() {
   FILE *file;
   int number;

   file = fopen("input.txt", "r");
   if(file == NULL) {
       printf("无法打开文件\n");
       return 1;
   }

   while(fscanf(file, "%d", &number) == 1) {
       printf("%d\n", number);
   }

   fclose(file);

   return 0;
}

在上面的代码中,我们首先声明了一个FILE类型的指针file和一个整数变量number。然后,我们使用fopen函数打开名为"input.txt"的文件,并以只读方式打开它。

接下来,我们使用一个while循环来重复地使用fscanf函数从文件中读取整数,并将其存储在number变量中。当fscanf函数返回1时,表示成功读取了一个整数。我们然后使用printf函数将整数打印出来。

最后,我们使用fclose函数关闭文件,以释放资源。

在运行上述代码时,它将打开名为"input.txt"的文件并逐行读取其中的整数,然后将其打印到终端。

写入文件

要在C程序中写入文件,我们使用fopen函数来创建文件,并使用fprintf函数来将数据写入文件。

下面是一个示例代码,演示了如何创建文件并将数据写入其中:

#include <stdio.h>

int main() {
   FILE *file;
   int number;

   file = fopen("output.txt", "w");
   if(file == NULL) {
       printf("无法创建文件\n");
       return 1;
   }

   printf("请输入一个整数:");
   scanf("%d", &number);

   fprintf(file, "输入的整数是:%d\n", number);

   fclose(file);

   return 0;
}

在上面的代码中,我们同样首先声明了一个FILE类型的指针file和一个整数变量number。然后,我们使用fopen函数创建名为"output.txt"的文件,并以写入方式打开它。

接下来,我们使用scanf函数从用户输入中读取一个整数,并将其存储在number变量中。

然后,我们使用fprintf函数将包含number变量值的字符串写入文件中。

最后,我们使用fclose函数关闭文件,以释放资源。

在运行上述代码时,它将创建一个名为"output.txt"的文件,并将用户输入的整数写入文件。

Markdown标记

以下是代码片段按照Markdown语法的标记:

```c
#include <stdio.h>

int main() {
   FILE *file;
   int number;

   file = fopen("input.txt", "r");
   if(file == NULL) {
       printf("无法打开文件\n");
       return 1;
   }

   while(fscanf(file, "%d", &number) == 1) {
       printf("%d\n", number);
   }

   fclose(file);

   return 0;
}
#include <stdio.h>

int main() {
   FILE *file;
   int number;

   file = fopen("output.txt", "w");
   if(file == NULL) {
       printf("无法创建文件\n");
       return 1;
   }

   printf("请输入一个整数:");
   scanf("%d", &number);

   fprintf(file, "输入的整数是:%d\n", number);

   fclose(file);

   return 0;
}
请注意,为了正确显示Markdown标记,代码块的语法示例之间的三重反引号前后可以省略。