С перенаправлениями командной строки программа использует stdin
для чтения и stdout
для записи.
Скомпилируйте и запустите это, например:
./a.out < source.c
или ./a.out < source.c > source.upper
...
#include <ctype.h>
#include <stdio.h>
int main(void) {
int ch;
while ((ch = getchar()) != EOF) {
putchar((unsigned char)ch);
}
return 0;
}
Если, с другой стороны, вы хотите указать имя файла в качестве параметра командной строки, вы можете использовать argv
, чтобы получить имя файла, как, например, ./a.out filename.txt
#include <stdio.h>
int main(int argc, char **argv) {
if (argc > 1) {
printf("processing %s\n", argv[1]);
} else {
printf("no command line parameter given.\n");
}
return 0;
}