[Powered by Google Translate] Tommy: Šiame vaizdo, mes daugiau sužinoti apie nukreipti ir vamzdžiai. Iki šiol, mes jau naudojant funkcijas patinka printf išvesties duomenis į terminalą ir funkcijų, pavyzdžiui, GetString kad vartotojas galėtų įnešti indėlį į mūsų programa, naudodami klaviatūrą. Leiskite greitai pažvelgti į programą, kuri gauna liniją įvestis iš vartotojo ir tada rezultatai. 7 on-line mes paskatino vartotoją styginių, ir 8 on-line, mes spausdinimą atgal. Tegul sukompiliuoti ir paleisti mūsų programą. Didysis. Eilutė buvo pakartotas mus į terminalą. Tai atsitiko todėl, parašė printf funkcija srautas vadinamas standartiniu atlikti, arba s-t-d-out. Kai kas nors yra parašyta, kad stdout, tai pagal nutylėjimą rodoma terminalo. Taigi, kad viskas gerai ir gerai, bet ką, jei, užuot paprasčiausiai rodyti eilutę, mes norėjome išsaugoti į failą? Pavyzdžiui, mes norime tai prisiminti, ką mūsų programa, kai mes davė jam tam tikrą indėlį vėliau. Vienas iš būdų būtų tai padaryti mūsų C programa, naudojant specialias funkcijas, kaip rašyti į failus, kad mes atsiųsime pamatyti kitą video. Net lengviau, nors, būtų kažkaip nukreipti į failą STDOUT. Tokiu būdu, kai printf rašo į stdout, turinys būti įrašomi į failą, o ne rodoma terminalo. Mes galime padaryti, tik, kad pridedant didesnis nei ženklą, po failo vardo, į komandą, mes naudojame mūsų programą vykdyti. Taip, o ne tiesiog vykdyti. / Nukreipta, mes galime paleisti. / nukreipti, kaip ženklas, po Failo pavadinimas kaip plik.txt. Leiskite pamatyti, kas atsitiks. Gerai. Atkreipkite dėmesį, kad šį kartą nieko buvo rodomas terminalo, bet mes ne kartą keistas mūsų turinį C programa ne visi. Tegul dabar nagrinėja šio katalogo su ls turinį. Gerai. Dabar mes turime naują failą su mūsų katalogą, pavadintą plik.txt, kuris yra failo pavadinimas, mes tiekiamos Kai nubėgome mūsų Nukreipti programą. Tegul atverti plik.txt. Ir čia mes galime matyti, kad stdout iš nukreipti parašyta į failą pavadinimu plik.txt. Todėl galime paleisti ankstesnę komandą vėl, bet tiekti skirtinga įėjimo laikas. Gerai. Paimkime atrodo plik.txt dabar. Mes galime matyti, kad failas buvo perrašyti, kad mūsų originalus šaltinis yra ne dingsta. Jei mes vietoj norite pridėti prie šio failo, diegiant naujas įvesties žemiau esamų failo turinio, mes galime naudoti dvi didesnis nei požymių, o ne tik vieną. Pabandykime kad. Dabar, jei mes vėl atidaryti plik.txt, mes galime matyti tiek mūsų įvesties eilutės. Kai kuriais atvejais, mes norime sunaikinti bet produkcija mūsų programoje. O ne raštu išėjimo į failą ir tada ištrinti byla, kai baigsite su juo, mes galime parašyti ypatingų / dev / null failą pavadinimu. Kai kas nors yra parašyta, kad / dev/null-- arba tiesiog devnull trumpas - jis yra automatiškai atmetamos. Taigi manau, devnull juodąją skylę jūsų duomenis. Taigi dabar mes matėme, kaip didesnis nei ženklas gali nukreipti stdout, galime pamatyti, kaip mes galime nukreipti standartas - arba s-t-d-- stdout analogas. Nors funkcijos printf patinka rašyti upelio pavadinimu stdout, GetString ir panašias funkcijas, skaityti iš srauto vadinamas stdin, pagal nutylėjimą, yra srautas ženklai įrašėte į klaviatūrą. Mes galime nukreipti STDIN, naudojant mažiau nei ženklo, po failo vardą. Dabar, o ne paskatino vartotojo input už terminalas, programa atvers failą nurodyti ir naudoti jo linijos kaip pirkimo. Leiskite pamatyti, kas atsitiks. Didysis. Buvo spausdinamas terminalo Pirmoje eilutėje plik.txt dėl to, kad mes kuriam skambinate GetString vieną kartą. Jei mes turėjome kitą skambutį GetString mūsų programoje, kitą eilutę file.txt buvo naudojami kaip įėjimas į šį kvietimą. Vėlgi, mes ne kartą keistas mūsų C programa ne visi. Mes tik keičiasi, kaip mes jį paleisti. Ir taip pat prisiminti, mes negalime nukreipti STDOUT šį kartą, programos produkcija vis dar buvo rodomas terminalo. Mes, žinoma, nukreipti tiek STDIN ir stdout mėgsta tai. Dabar file2.txt yra file.txt pirmąją eilutę. Taigi, naudojant šių operatorių, mes galėjo skaityti ir rašyti iš tekstinių failų. Dabar pažiūrėkime, kaip mes galime naudoti vieną programą produkcijos įėjimo į kitą programą. Taigi čia dar vienas paprastas C programa čia vadinama hello.c. Kaip matote, tai tiesiog išveda "Labas ten! "vartotojui. Jei aš noriu nukreipti naudoti kaip įvesti "Hello produkcija - kita programa - Aš pirmiausia turėtų būti nukreipti failą pavadinimu "Hello STDOUT input.txt, tada nukreipti nukreipti STDIN į tą pačią failas - input.txt. Taigi aš galiu padaryti. / Apie> input.txt. Paspauskite "Enter", vykdyti. Po / nukreipti < input.txt ir vykdyti. Taigi, mes galime sutrumpinti šį šiek tiek su kabliataškiu, kuri leidžia mus vykdyti dvi ar daugiau komandų toje pačioje eilutėje. Taigi aš galiu pasakyti. / Apie> input.txt, kabliataškis, / Peradresavimas Final.txt. Taigi, jei mes atverti final.txt, mes turime ką mes ieško: unikalių pavadinimų abėcėlės tvarka, sąrašas, įrašyti į tekstinį failą. Beje, mes taip pat galėjo Rūšiuoti < students.txt | Uniq> final.txt daryti būtent tas pats, naudojant kiekvieną operatorių, mes matėme šį vaizdo įrašą. My name is Tommy, ir tai yra CS50.