阅读量: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
的文件,并在文件中输入一些整数数据,每个数据一行。运行程序后,它将读取文件数据并输出排序后的结果。