[Powered by Google Translate] 토미 :이 비디오에서 우리는에 대해 알아 보겠습니다 리디렉션 및 파이프. 지금까지, 우리는 기능에 적용됩니다 printf 좋아 사용하고 출력 단자에 데이터 및 GetString 같은 기능 사용자가 Google의 입력을 제공 할 수 있도록 허용하는 키보드를 사용하여 프로그램. 자, 신속의 라인을 확보 프로그램에서 살펴 사용자의 입력 한 다음을 출력합니다. 7 호선에, 우리는 문자열이 사용자에게 메시지를 표시하고,하고 그리고 8 호선에 우리는 다시 인쇄하고 있습니다. 이 우리의 프로그램을 컴파일하고 실행합니다. 좋아요. 우리가 제공하는 문자열은 다시 에코되었다 터미널에 우리. printf 함수를 썼다 때문에이 일 스트림은 표준 불려, 또는 S-T-D-아웃. 무언가가 STDOUT에 기록 할 때, 그것은 기본적으로입니다 터미널에 표시됩니다. 그래서 모든 괜찮은데 뭐가 단순히의, 경우 문자열을 표시하는, 우리는 파일에 저장하고 싶어? 예를 들어, 우리는 기억 할 수도 있습니다 정확히 우리 우리가 나중에 그것을 특정 입력을 주었을 때 프로그램이 했어요. 하나의 방법은 사용의 C 프로그램에서이 작업을 수행하는 것 파일에 쓰기위한 몇 가지 특별한 기능을 우리가 할 시간 다른 동영상에서 참조하십시오. 보다 쉽게​​,하지만 어떻게 든하는 것이다 파일에 STDOUT 리디렉션합니다. 그 방법은 printf STDOUT에 기록 할 때 내용이됩니다 파일이 아닌 작성 터미널에 표시됩니다. 우리는보다 큼 기호를 추가하여 그냥 할 수있어, 다음 파일 이름에 의해 명령에 우리는 우리의 프로그램을 실행하기 위해 사용합니다. 그래서,보다 간단하게 실행. / 리디렉션, 우리는 할 수 있습니다 실행. / 리디렉션에 이어, 기호보다 더 큰 다음 file.txt와 같은 파일 이름. 어떻게 알아 보자. OK. 이 시간이, 아무것도 터미널에 표시되지 아니 여서, 그러나 우리는 우리의 내용을 수정하지 않았습니다 전혀 C 프로그램입니다. 의 지금이게와이 디렉토리의 내용을 살펴 보자. 괜찮아요. 우리는 지금, file.txt라는 우리의 디렉토리에 새로운 파일이 그건 우리가 우리를 실행하면 우리가 제공하는 파일 이름입니다 프로그램을 리디렉션합니다. 가 file.txt를 열어 보자. 여기, 우리는 리디렉션의 STDOUT 아웃이 있다고 볼 수 있습니다 file.txt라는 파일에 기록. 그럼 다시 이전 명령을 실행하게하지만를 제공 다른 입력이 시간. 좋아요. 의 지금 file.txt를 살펴 보자. 우리는 파일을 덮어 된 것으로 볼 수 있으므로 우리 원래 입력은 더 이상 없다. 우리가 대신이 파일에 추가하려는 경우, 새를 넣어 파일의 기존 내용을 아래에 입력, 우리가 할 수 단 하나 대신에 두개의보다 큼 기호를 사용합니다. 씨가를 사용해 보자. 우리가 다시 file.txt 열라면, 우리는 모두를 볼 수 있습니다 입력 라인. 어떤 경우에는, 우리는 어떤을 취소 할 수도 있습니다 우리 프로그램의 출력. 오히려 파일에 출력을 작성하고 삭제하는 것보다 우리가 그 짓을하는 파일은, 우리가 특별에을 (를) 쓸 수 파일은 / dev / null로했다. 아무는 /에 기록 할 때 dev/null-- 또는 짧은에 대한 devnull - 가 자동으로 삭제됩니다. 따라서 데이터에 대한 블랙홀로 devnull 생각합니다. 그래서 지금 우리는보다 큰 신호 리디렉션 할 수있는 방법 본 STDOUT, 우리가 표준 리디렉션 할 수있는 방법 알아 보자 - 또는 S-T-D-에 - STDOUT의 아날로그. 기능이 좋아하지만 printf라는 스트림에 쓰기 스트림에서 읽어 STDOUT, GetString 및 이와 유사한 기능을 표준 입력 불리는하는 기본적으로의 흐름입니다 문자는 키보드에 입력. 우리는 기호보다 적게을 사용하여 표준 입력을 리디렉션 할 수 있습니다 다음 파일 이름을 기준으로. 지금보다는의 입력을위한 사용자에게 메시지를 표시 터미널은 프로그램이 우리가 지정한 파일을 열고 사용 입력으로는 라인. 어떻게 알아 보자. 좋아요. file.txt의 첫 번째 라인은 터미널에 인쇄 된 우리는 한 번 GetString를 호출하는거야. 우리 프로그램에 GetString에 다른 전화가 있으면, file.txt의 다음 라인으로 사용 된 것 그 전화에 입력. 다시 말하지만, 우리는 모든 페이지의 C 프로그램을 수정하지 않았습니다. 우리는 우리가 그것을 실행하는 방법이 변경됩니다. 또한, 우리는 STDOUT에게이 시간을 리디렉션하지 않은 기억 그래서 프로그램의 출력은 여전히​​했습니다 터미널에 표시됩니다. 우리는 물론, 표준 입력을 모두 리디렉션 할 수 있습니다 같은과 STDOUT. 이제 file2.txt는 file.txt의 첫 번째 행이 포함되어 있습니다. 따라서이 연산자를 사용, 우리는 읽고 수있었습니다 텍스트 파일에서 써주세요. 이제 우리가 같이 하나의 프로그램의 출력을 사용할 수있는 방법에 보자 다른 프로그램에 입력. 그래서 여기 또 다른 간단한 C 프로그램은 I입니다 여기에 hello.c라는했습니다. 당신이 볼 수 있듯이,이 단순히 "안녕 출력 가! "사용자. - 내가 입력으로 인사의 출력을 사용하여 리디렉션하려는 경우 다른 프로그램 - 처음이라는 파일에 인사의 STDOUT을 리디렉션 할 수 input.txt 다음 같은 사이트로 리디렉션의 표준 입력을 리디렉션 파일 - input.txt. 그래서 할 수 있습니다. / 인사> input.txt. 이 실행 Enter 키를 누릅니다. 다음. / 리디렉션 < input.txt, 그리고 그렇게 실행합니다. 그래서 우리는 할 수있는 세미콜론과 함께이 비트를 단축 할 수 우리는 같은 줄에 두 개 이상의 명령을 실행합니다. 그래서, 말할 수있는. / 인사> input.txt, 세미콜론, . / final.txt. 우리가 final.txt을 열고 경우, 우리는 우리가 정확히이 찾고 : 알파벳 순서에 따라 고유 한 이름의 목록 텍스트 파일에 저장되었습니다. 그건 그렇고, 우리는 말하는거야 정렬 < students.txt | uniq> final.txt 짓 정확히 우리가 본 운영자의 각을 사용하여 같은 일, 이 동영상을. 내 이름은 토미이고,이 CS50입니다.