あくまでリダイレクトのやりかたを説明するべく、
とりあえず10個のint値をソートする:
sort.c:
C
1#include <stdio.h>
2#include <stdlib.h>
3
4int comp(const void* px, const void* py) {
5 int x = *(const int*)px;
6 int y = *(const int*)py;
7 if ( x < y ) return -1;
8 if ( x > y ) return 1;
9 return 0;
10}
11
12int main() {
13 int a[100];
14 int i;
15 int n = 0;
16 while ( scanf("%d", &a[n]) != EOF ) {
17 ++n;
18 }
19
20 printf("before...\n");
21 for ( i = 0; i < n; ++i ) {
22 printf("%d ", a[i]);
23 }
24 puts("");
25
26 qsort(a, n, sizeof(int), comp);
27
28 printf("after...\n");
29 for ( i = 0; i < n; ++i ) {
30 printf("%d ", a[i]);
31 }
32 puts("");
33 return 0;
34}
data.txt:
Plain
19 7 5 3 1 8 6 4 2 0
コンパイル/実行 (Windows10 / Visual C++ 2019)
D:\work>cl sort.c ------------ コンパイル
Microsoft(R) C/C++ Optimizing Compiler Version 19.26.28806 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
sort.c
Microsoft (R) Incremental Linker Version 14.26.28806.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:sort.exe
sort.obj
D:\work>sort < data.txt ------ リダイレクトでdata.txtを食わせて実行
before...
9 7 5 3 1 8 6 4 2 0
after...
0 1 2 3 4 5 6 7 8 9
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。