일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- C언어 포인터
- jupyter lab
- Data Structure
- c# winform
- 구조체
- C++
- vim
- C# delegate
- Houdini
- Unity
- git
- Python
- 다트 언어
- 플러터
- c# 윈폼
- c#
- 유니티
- dart 언어
- 깃
- c# 추상 클래스
- github
- gitlab
- Algorithm
- 포인터
- HTML
- jupyter
- docker
- c언어
- Flutter
- 도커
- Today
- Total
목록표준 입력 (2)
nomad-programmer
파일 디스크립터는 데이터 스트림을 나타내는 숫자이다. 데이터 스트림은 말 그대로 프로세스로 들어가고 나오는 데이터의 흐름이다. 표준 입력, 출력, 에러에 대한 데이터 스트림이 있으며, 파일이나 네트워크 연결과 같은 데이터 스트림도 더 만들 수 있다. 프로세스의 출력을 리다이렉션하면 데이터를 보낼 곳을 바꿀 수 있다. 따라서 표준 출력이 하면 대신 파일에 데이터를 보낼 수 있다. 모든 프로세스는 스택과 힙 데이터 공간 외에도 자신이 실행하는 프로그램을 포함하고 있다. 그런데 표준 출력과 같은 데이터 스트림이 어디에 연결되는지 어딘가에 기록해놓아야 한다. 각 데이터 스트림은 파일 디스크립터(File Descriptor)에 의해 표현되는데, 프로그램에서는 단지 숫자로 나타난다. 프로세스는 파일 디스크립터와 이..
#include int main(){ char word[10]; int i = 0; // format을 %9s로 지정하면 최대 9개 문자를 word에 저장한다 // 마지막 문자는 널 문자가 들어간다. while(scanf("%9s", word) == 1){ i++; if(i % 2){ fprintf(stdout, "%s\n", word); } else{ fprintf(stderr, "%s\n", word); } } return 0; } /* string.txt 내용 redirection 예제를 만들어 보았다. 이 예제는 리눅스 혹은 맥에서 실행해야 한다. C언어 소스파일에서 표준출력, 표준에러를 발생하고 그것을 활용하는 예제이다. */ // 컴파일 & 실행 /* gcc redirection_exam.c ..