0
그래서 나는 다음과 같은 명령을 수행하여 텍스트 파일 동의를 의미 해요 : 나는 목록 텍스트 파일 내 종류의 프로그램에 입력되고 있음을 이해리디렉션 된 표준 입력 - C
$ sort < list.txt
을하지만, 실제로 어떻게 내가 할 내 프로그램 내에서 정보를 사용합니까? 어떻게 읽습니까?
내 코드 :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
char c;
while (c != EOF){
c = getchar();
printf("%c ",c);
}
return (0);
}
예 : 당신은 당신이 게시물에 기록 된 것처럼 명령 줄에서 '<
'기호를 사용하는 경우
$ ./sort.c < input.txt
./sort.c: line 3: $'\r': command not found
./sort.c: line 4: syntax error near unexpected token `('
'/sort.c: line 4: `int main(int argc, char** argv) {
'사용법 #include'와 stdin''에서 읽습니다. –
리디렉션은 프로그램 외부에서 발생하는 것입니다. 쉘은 프로그램이 시작되기 전에'list.txt' 파일 *을 열어서 프로그램의 표준 입력에 연결합니다. 귀하의 프로그램은 그것에 대해 아무 것도 할 필요가 없습니다. 감히 'isatty (STDIN_FILENO)'가 감히 0 일 때만 리턴한다는 것을 알 수 있습니다. – 5gon12eder
@ 5gon12eder 오, 당신이 그것을 못 박았을 것입니다. 나의 코멘트는 * how *; 귀하의 의견은 * 왜 * 설명하고, 따라서 더 교육적입니다. 그것은 단지 나에게 발생하지 않았다. 나는 리디렉션이 너무 오랫동안 작동하는 방법을 알고 있었고, 물을 알아 채지 못하는 물고기와 같다. :) –