C语言怎么读取文件数据并排序

avatar
作者
筋斗云
阅读量:2

下面是一个示例程序,演示了如何读取文件数据并对数据进行排序:

#include <stdio.h> #include <stdlib.h>  // 用于比较两个整数的函数,用于排序 int compare(const void *a, const void *b) {     return (*(int*)a - *(int*)b); }  int main() {     FILE *file;     int data[100]; // 数组用于存储读取的数据     int numData = 0; // 存储读取的数据数量      // 打开文件     file = fopen("data.txt", "r");     if (file == NULL) {         printf("无法打开文件\n");         return 1;     }      // 读取文件数据     while (fscanf(file, "%d", &data[numData]) != EOF) {         numData++;     }      // 关闭文件     fclose(file);      // 对数据进行排序     qsort(data, numData, sizeof(int), compare);      // 打印排序后的数据     printf("排序后的数据:\n");     for (int i = 0; i < numData; i++) {         printf("%d\n", data[i]);     }      return 0; } 

在这个示例程序中,我们首先定义了一个用于比较两个整数的函数 compare,用于在排序时调用。然后我们打开一个名为 data.txt 的文件,读取文件数据并存储在一个数组中。接着我们使用 qsort 函数对数组中的数据进行排序,最后打印排序后的数据。

请确保在运行程序之前创建一个名为 data.txt 的文件,并在文件中输入一些整数数据,每个数据一行。运行程序后,它将读取文件数据并输出排序后的结果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!