C에서 stdout에게 쓴다는 것은 무슨 뜻인가?
"stdout"에 쓰는 프로그램이 파일에 쓰입니까?화면은?나는 stdout에게 글을 쓴다는 것이 무슨 뜻인지 이해할 수 없다.
즉, 세션의 주 출력 장치에 출력을 인쇄하는 경우...그게 뭐든 간에사용자의 콘솔, tty 세션, 파일 또는 아는 사람.그 장치는 프로그램이 어떻게 실행되는지 그리고 어디에서 실행되는지에 따라 달라질 수 있다.
다음 명령은 표준 출력 장치(stdout)에 기록한다...
printf( "hello world\n" );
그건 본질적으로, 이것을 하는 다른 방법일 뿐이야...
fprintf( stdout, "hello world\n" );
이 경우stdout
에 대한 포인터 입니다.FILE
응용 프로그램의 기본 출력 장치를 나타내는 스트림.당신은 또한 사용할 수 있다.
fprintf( stderr, "that didn't go well\n" );
이 경우 다음과 같을 수도 있고 그렇지 않을 수도 있는 응용 프로그램의 표준 오류 출력 장치로 출력을 보낼 수 있다.stdout
­ 에 관한 것처럼stdout
,stderr
에 대한 포인터 입니다.FILE
오류 메시지의 기본 출력 장치를 나타내는 스트림.
사정에 따라 다르겠지.
출력 전송을 커밋할 때stdout
출력이 어디로 갈지 결정하는 것은 기본적으로 사용자에게 맡기는 겁니다.
사용한다면printf(...)
(또는 그에 상당하는 것)fprintf(stdout, ...)
() 출력물을 다음 주소로 보내십시오.stdout
하지만 그게 어디서 끝나느냐에 따라 달라질 수 있어
내 콘솔에서 이렇게 프로그램을 실행하면 내 콘솔에 다음과 같은 출력이 표시됨:
$ prog
Hello, World! # <-- output is here on my console
그러나 콘솔에서 출력을 생성하지 않고 프로그램을 다음과 같이 시작할 수 있다.
$ prog > hello.txt
하지만 나는 이제 쉘의 리디렉션 기능 덕분에 "Hello.txt"라는 파일이 안에 들어 있을 것이다.
누가 알겠는가? 내가 다른 장치를 연결할 수도 있고 출력물이 거기에 갈 수도 있다.요점은 당신이 인쇄를 하기로 결정했을 때stdout
(예: 사용)printf()
() 그러면 공정이 어떻게 시작되거나 사용되는지 확인할 때까지 정확히 어디로 갈지 알 수 없다.
stdout은 표준 출력 파일 스트림이다.분명히, 처음이고 출력에 대한 기본 포인터는 화면이지만, 원하는 대로 파일을 가리킬 수 있다!
다음 내용을 읽어 보십시오.
http://www.cplusplus.com/reference/cstdio/stdout/
C++는 C와 매우 유사하지만 객체 지향적이다.
stdout
UNIX의 표준 출력 스트림이다.http://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html#Standard-Streams을 참조하십시오.터미널에서 실행하면 다음과 같은 데이터가 기록되어 있는 것을 볼 수 있다.stdout
터미널에서 원하는 대로 리디렉션할 수 있다.
@K 스콧 피엘은 여기에 훌륭한 답을 썼지만, 중요한 점을 하나 덧붙이고 싶다.
:stdout
스트림은 대개 라인 처리되므로, 출력물이 실제로 인쇄되고 기록되기를 기다리는 버퍼에 그냥 앉아 있지 않도록 하려면, 당신은 당신의 것을 끝냄으로써 버퍼를 플러시해야 한다.printf
A로 진술하다.\n
Ex:
printf("hello world\n");
또는
printf("hello world");
printf("\n");
또는 이와 유사하거나, 또는 당신이 전화해야 한다.fflush(stdout);
너의 뒤에printf
전화를 걸다
Ex:
printf("hello world");
fflush(stdout);
자세한 내용은 여기를 참조하십시오.새 라인이 형식 문자열에 없는 한 호출 후 인쇄가 플러시되지 않는 이유는?
stdout
표준 출력 스트림을 나타내며, 그것은 운영 체제 자체로 당신의 프로그램에 이용 가능한 스트림이다.그것은 이미 당신의 프로그램에 처음부터 함께 이용가능하다.stdin
그리고stderr
.
그들이 가리키는 것은 무엇이든 될 수 있는데, 실제로 스트림은 당신의 프로그램에 데이터를 보내거나 검색하는 인터페이스로 사용될 수 있는 객체를 제공한다.기본적으로 그것은 일반적으로 터미널이지만 당신이 원하는 곳, 즉 파일, 다른 공정으로 가는 파이프 등으로 리디렉션될 수 있다.
참조URL: https://stackoverflow.com/questions/16430108/what-does-it-mean-to-write-to-stdout-in-c
'IT이야기' 카테고리의 다른 글
__ob__: Observer를 내 배열 목록에서 제거하려면 어떻게 해야 하는가? (0) | 2022.04.27 |
---|---|
Vue.js - Vuex에 저장된 Javascript 모델이 개체로 변환됨 (0) | 2022.04.27 |
IntelliJ에서 항아리를 제대로 만드는 방법? (0) | 2022.04.27 |
C에서 메인() 없이 프로그램 컴파일 및 실행 (0) | 2022.04.26 |
Vuetify 사용 방법Google Places API를 사용한 JS Advanced 슬롯 예제 (0) | 2022.04.26 |