[Powered by Google Translate] TOMMY: Í þetta myndband, munum við læra um Áframsendi og rör. Svo langt, höfum við verið að nota virka eins printf til framleiðsla gögn til stöðvarinnar og aðgerðir eins GetString til að leyfa notanda að leggja til okkar forrit að nota lyklaborðið. Við skulum taka fljótt að líta á forrit sem fær línu inntak frá notanda og þá framleiðsla það. Á línu 7, við erum vekur notanda fyrir streng og þá á línu 8, erum við prentun það út aftur. Við skulum taka saman og hlaupa program okkar. Frábært. The band við sem var echoed baka okkur í flugstöðinni. Þetta gerðist vegna þess að printf virka skrifaði a Stream kallast staðall út, eða s t-D-út. Þegar eitthvað er skrifað á stdout, það er sjálfgefið birtist við flugstöðina. Svo er það allt vel og gott, en hvað ef, í stað þess einfaldlega að sýna band, vildum við að vista það í skrá? Til dæmis gætum við viljum að muna nákvæmlega hvað okkar program gerði þegar við gaf ákveðna inntak síðar. Ein leið væri að gera þetta í C program okkar, með því að nota sumir sérstakar aðgerðir til að skrifa í skrár sem við munum sjá í öðru vídeó. Jafnvel auðveldara, þó væri að einhvern veginn beina stdout í skrá. Þannig þegar printf skrifar til stdout, innihald mun að skrifa í skrá frekar en birtist við flugstöðina. Við getum gert bara með því að bæta meiri en tákn, eftir með skrá nafn, að stjórn sem við notum til að framkvæma kerfi okkar. Svo, frekar en einfaldlega framkvæmd. / Áframsenda, getum við hlaupa. / áframsenda, eftir meiri en tákn, eftir filename, eins file.txt. Við skulum sjá hvað gerist. OK. Takið eftir að þessi tími var ekkert birtist á flugstöðinni, en við höfum ekki breytt innihaldi OKKAR C program yfirleitt. Við skulum nú skoða innihald þessa skrá með LS. Allt í lagi. Við höfum nú nýja skrá í möppu okkar heitir file.txt, sem er að skrá nafn við staðar þegar við hljóp starfsemi okkar Beina program. Við skulum opna file.txt. Og hér getum við séð að stdout út af endurvísa var skrifað í skrá sem kallast file.txt. Svo skulum hlaupa fyrri stjórn aftur, en veita mismunandi inntak þessa tíma. Allt í lagi. Við skulum taka a líta á file.txt núna. Við sjáum hér að skrá hefur verið skrifað yfir hana, svo að okkar upprunalega inntak er ekki þar lengur. Ef við viljum í staðinn til að bæta við þessa skrá, setja nýja inntak fyrir neðan núverandi innihald af the skrá, getum við nota tvær meiri en merki í staðinn af réttlátur einn. Við skulum reyna það. Nú, ef við opna file.txt aftur, getum við séð bæði af okkar inntakslínur. Í sumum tilvikum gæti við viljum Fargið framleiðsla á prógramminu. Frekar en að skrifa framleiðsla skrá og þá að eyða að skrá þegar við erum búin með það, við getum skrifað á sérstakt skrá sem heitir / dev / null. Þegar eitthvað er skrifað á / dev/null-- eða bara devnull fyrir stuttu - það er sjálfkrafa hent. Svo hugsa um devnull sem svarthol fyrir gögnin þín. Svo nú höfum við séð hvernig meiri en tákn getur endurvísa stdout, við skulum sjá hvernig við getum sent staðall í - eða s t-D-í - að hliðstæða stdout. Þótt aðgerðir eins og printf skrifa ána heitir stdout, GetString og svipaðar aðgerðir lesa úr straumi heitir stdin, sem sjálfgefið er straumi stafir slegið á lyklaborðinu. Við getum sent stdin með minna en merki, eftir með filename. Nú, frekar en vekur notandi til inntak á the Terminal, forrit mun opna skrána við tilgreint og nota línur sem inntak. Við skulum sjá hvað gerist. Frábært. Fyrsta línan í file.txt hefur verið prentað í flugstöðinni vegna þess að við köllum GetString einu. Ef við hefðum annað símtal til GetString í kerfi okkar, Næsta lína af file.txt hefði verið notuð sem inntak til að hringja. Aftur höfum við ekki breytt C program okkar yfirleitt. Við erum bara að breyta því hvernig við að keyra það. Og líka að muna, að við höfum ekki vísað stdout þessum tíma, þannig að framleiðsla af the program var enn birtist á skjánum. Við getum að sjálfsögðu beina bæði stdin og stdout svona. Nú file2.txt inniheldur fyrstu línu file.txt. Svo notaði þessara fyrirtækja, höfum við verið fær um að lesa og skrifa af skrá texta. Nú, við skulum sjá hvernig við getum notað úttak eitt forrit sem inntak í annað forrit. Svo er hér ein einföld C forrit ég hafa hér kallað hello.c. Eins og þú geta sjá, þetta framleiðsla einfaldlega "Hi Það "til notanda. Ef ég vil beina til að nota sem inntak úttak Hello - annað forrit - Ég gat fyrst beina stdout af halló skrá sem kallast input.txt, þá beina stdin af endurvísa að sama skrá - input.txt. Svo ég get gert. / Hello> input.txt. Ýttu á Enter til að framkvæma þetta. Framhald af. / Áframsenda < input.txt, og framkvæma það. Þannig að við getum dregið þetta aðeins með semíkommu, sem gerir okkur til að keyra tvo eða fleiri skipanir á sömu línu. Svo get ég sagt,. / Halló> input.txt, semíkommu, . / Áframsenda Final.txt. Svo ef við opna final.txt, höfum við nákvæmlega hvað við vorum að leita að: listi yfir einstök nöfn í stafrófsröð, vistað í textaskrá. Við the vegur, einnig gætum við sagt eins konar < students.txt | Uniq> final.txt að gera nákvæmlega sama, með hverjum rekstraraðila við höfum séð í þetta myndband. Mitt nafn er Tommy, og þetta er CS50.