[Powered by Google Translate] TOMMY: В этом видео мы узнаем о перенаправление и труб. До сих пор мы использовали такие функции, как Printf к вывод данных на терминал и функций, таких как GetString позволяет пользователю вносить вклад в наше программы с помощью клавиатуры. Давайте быстро взглянем на программу, которая получает линии ввод от пользователя, а затем выводит его. В строке 7, мы с помощью которого пользователь строку, а Затем в строке 8, мы распечатав его обратно. Давайте скомпилировать и запустить нашу программу. Великий. Строка мы предоставили была эхом к нам на терминал. Это произошло потому, Е функция писал Поток называется стандартный вывод, или с-т-д-аут. Когда что-то выводится на стандартный вывод, то по умолчанию отображаться в терминале. Так что все хорошо, но что, если вместо того, чтобы просто отображением строки, мы хотели сохранить его в файл? Например, мы могли бы точно помню, что наш Программа сделал, когда мы дали ему определенный вход позже. Один подход был бы сделать это в нашей программе C, используя некоторые специальные функции для записи файлов, которые мы будем см. в другое видео. Еще проще, хотя-бы как-то перенаправить стандартный вывод в файл. Таким образом, когда Printf пишет в стандартный вывод, содержание будет быть записаны в файл, а не отображаться в терминале. Мы можем сделать это, добавив знак больше, а затем на имя файла, в команде мы используем, чтобы выполнить нашу программу. Таким образом, вместо того, чтобы просто выполнение. / Перенаправления, мы можем запустите. / перенаправления, а затем знак больше, а затем Файл, как file.txt. Давайте посмотрим, что происходит. OK. Обратите внимание, что на этот раз ничего не отображается на терминале, но мы не изменили содержание наших C программой на всех. Давайте теперь рассмотрим содержимое этого каталога с лат. Хорошо. Теперь у нас есть новый файл в нашем каталоге с именем file.txt, , которая является имя файла мы поставили, когда мы запустили наш Перенаправление программы. Давайте открывать file.txt. И вот, мы видим, что стандартный вывод из перенаправить было записываются в файл с именем file.txt. Так что давайте выполнения предыдущей команды снова, но поставки другой вход в этот раз. Хорошо. Давайте взглянем на file.txt сейчас. Мы видим здесь, что файл был перезаписан, так что наше Оригинальный вход больше не существует. Если мы вместо этого хотите добавить в этот файл, поставив новые вход ниже существующего содержимого файла, мы можем использовать два больше, чем знаки, а не только один. Давайте попробуем. Теперь, если мы откроем file.txt снова мы видим, как наши входных линий. В некоторых случаях, мы могли бы отказаться от любого Выход нашей программы. Вместо того, чтобы писать вывод в файл, а затем удаление Файл, когда мы покончим с этим, мы можем написать в специальной файл / Dev / нуль. Когда что-нибудь записать в / dev/null-- или просто devnull для краткости - она автоматически удаляется. Так что думаю о devnull как черная дыра для ваших данных. Итак, мы видели, как знак больше может перенаправить стандартный вывод, давайте посмотрим, как мы можем перенаправить стандартный В - или с-т-д-в - Аналог стандартный вывод. В то время как функции, как Printf записи в поток называется стандартный вывод, GetString и аналогичные функции чтения из потока называется стандартного ввода, который, по умолчанию, является поток символы, вводимые с клавиатуры. Мы можем перенаправить стандартный ввод использованием менее знаком, а затем по имени файла. Теперь, вместо запроса пользователя для входа в терминал, программа откроет файл мы указали и использовать его линии в качестве входных данных. Давайте посмотрим, что происходит. Великий. В первой строке file.txt была напечатана в терминал потому, что мы называем GetString раз. Если бы мы имели еще один вызов GetString в нашей программе, Следующая строка file.txt было бы использовать в качестве вход на этот призыв. Опять же, мы не изменили нашу программу C на всех. Мы только изменить то, как мы его запуска. А также помните, что мы не стандартный вывод перенаправлен на этот раз, так что на выходе из программы все еще отображаться в окне терминала. Мы можем, конечно, перенаправить стандартный ввод и стандартный вывод, как это. Теперь, file2.txt содержит первую строку file.txt. Таким образом, использование этих операторов, мы были в состоянии прочитать и записи из текстовых файлов. Теперь, давайте посмотрим, как мы можем использовать вывод одной программы, вход в другую программу. Итак, вот еще один простой программы C Я были здесь называют hello.c. Как вы можете видеть, это просто выводит "Привет там! "для пользователя. Если я хочу перенаправить использовать в качестве входных выход привет - другая программа - Я сначала может перенаправить стандартный вывод привет в файл с именем input.txt, а затем перенаправить поток ввода перенаправление на том же файл - input.txt. Так что я могу сделать. / Привет> input.txt. Нажмите клавишу Enter, чтобы выполнить это. Последовал. / Переадресация < input.txt, и выполнить это. Таким образом, мы можем сократить это немного точкой с запятой, что позволяет нам для запуска двух или более команд на той же линии. Поэтому я могу сказать,. / Привет> input.txt, точка с запятой, . / Переадресация Final.txt. Таким образом, если мы открываем final.txt, у нас есть именно то, что мы были ищет: Список уникальные имена в алфавитном порядке, сохранены в текстовом файле. Кстати, мы также могли бы сказать рода < students.txt | Uniq> final.txt делать то, то же самое, используя каждый из операторов мы видели в это видео. Меня зовут Томми, и это CS50.