C言語 ファイル読み込みとソートの実装方法【サンプルコード付】
以下は、ファイルデータを読み込んでデータをソートする方法を示すサンプルプログラムです。
#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という名前のファイルを作成し、いくつかの整数データを入力し、1行に1つのデータを入力してください。プログラムを実行すると、ファイルのデータが読み込まれ、ソートされた結果が出力されます。