[Powered by Google Translate] Tommy: Nan videyo sa a, nou pral aprann sou Redireksyon ak tiyo. Se konsa, lwen, nou ve yo te lè l sèvi avèk fonksyon renmen printf pwodiksyon done tèminal la ak fonksyon tankou GetString yo ki pèmèt itilizatè a bay dizon nou pwogram lè l sèvi avèk klavye la. Se pou nou byen vit pran yon gade nan yon pwogram ki vin yon liy nan enfòmasyon nan men gwoup itilizatè a ak Lè sa a, sorti li. Sou liy 7, n ap pouse itilizatè a pou yon fisèl, ak Lè sa a, sou liy 8, nou ap enprime l 'tounen soti. Se pou nou konpile epi kouri pwogram nou an. Great. Te fisèl la nou bay répéta tounen nou nan tèminal la. Sa te pase konsa paske fonksyon an printf te ekri nan yon kouran yo rele estanda soti, oswa s-T-d-soti. Lè yon bagay ki ekri nan Liv stdou, li nan pa default parèt nan tèminal la. Se konsa, ki nan tout sa byen epi yo bon, men sa ki si, olye pou yo tou senpleman montre fisèl la, nou te vle pou konsève pou li bay yon dosye? Pou egzanp, nou ta ka vle sonje ekzakteman ki sa nou pwogram 'te fè lè nou te ba li yon D' patikilye pita. Youn nan apwòch ta dwe fè sa nan pwogram C nou an, lè l sèvi avèk kèk fonksyon espesyal pou ekri nan dosye ke nou pral wè nan yon lòt videyo. Menm vin pi fasil, menm si, ta dwe yon jan kanmenm redireksyon stdou nan yon dosye. Nan fason sa a, lè printf ekri stdou, sa ki pral dwe ekri nan yon dosye olye ke parèt nan tèminal la. Nou ka fè jis ki pa ajoute yon siy pi gwo-pase, yo pati dèyè pa yon non dosye, nan yo lòd, ki nou itilize al touye pwogram nou an. Se konsa, olye ke tou senpleman pwomenad. / Redireksyon, nou ka kouri. / redireksyon, ki te swiv pa yon pi gran pase siy, ki te swiv pa Fichier, tankou file.txt. Ann gade pou wè sa k ap pase. OK. Remake tan sa a, pa gen anyen te parèt nan tèminal la, men nou pa te modifye sa ki nan nou an C pwogram nan tout. Se pou nou kounye a egzaminen sa ki nan anyè sa a ak ls. Tout dwa. Nou kounye a gen yon dosye nouvo nan anyè nou rele file.txt, ki se non an dosye nou apwovizyone lè nou kouri nou an Redireksyon pwogram nan. Se pou nou louvri moute file.txt. Ak isit la, nou ka wè ke stdou a soti nan redireksyon te ekri nan dosye a yo rele file.txt. Se konsa, kite a kouri kòmand a anvan ankò, men kap founi bay yon diferan opinyon tan sa a. Oke. Se pou nou pran yon gade nan file.txt kounye a. Nou ka wè isit la ki te dosye a te efase, se konsa nou D 'orijinal la pa gen ankò. Si nou olye vle ajoute sa a ranpli, mete nouvo nan D 'pi ba a sa yo ki deja egziste nan dosye a, nou kapab sèvi ak de siy pi gwo-pase olye pou yo jis yon sèl. Ann eseye sa. Koulye a, si nou louvri file.txt ankò, nou ka wè tou de nou D 'liy yo. Nan kèk ka, nou ta ka vle jete tout pwodiksyon nan pwogram nou an. Olye de ekri pwodiksyon an nan yon dosye ak Lè sa a, efase dosye a lè nou ap fè ak li, nou ka ekri yon espesyal dosye yo rele / Dev / nil. Lè anyen ki ekri nan Liv / dev/null-- oswa jis dvoul pou kout - li se otomatikman abandone. Se konsa, panse a dvoul kòm yon twou nwa pou done ou. Se konsa, kounye a nou te wè ki jan siy ki pi gran pase ka redireksyon stdou, kite la wè ki jan nou ka redireksyon estanda nan - oswa s-T-d-an - analogique nan stdou. Pandan ke fonksyon renmen printf ekri nou nan kouran an rele stdou, GetString ak fonksyon sanblab li nan kouran an rele stden, ki, pa default, se kouran an nan karaktè tape nan klavye la. Nou ka redireksyon stden lè l sèvi avèk mwens an pase siy, yo swiv pa yon fichier. Koulye a, olye ke pouse itilizatè a pou D 'nan a tèminal, yon pwogram yo ap louvri dosye a nou espesifye epi sèvi ak liy li yo menm jan D '. Ann gade pou wè sa k ap pase. Great. Te liy nan premye nan file.txt te enprime tèminal la paske nou ap rele GetString yon fwa. Si nou te gen yon lòt apèl GetString nan pwogram nou an, nan ta pwochen liy nan file.txt yo te itilize kòm D 'ak sa yo ki rele. Yon fwa ankò, nou pa t 'modifye pwogram C nou an nan tout. Nou ap sèlman chanje fason nou kouri li. Epi tou li sonje, nou pa te reyorante resous-stdou tan sa a, se konsa pwodiksyon an nan pwogram nan te toujou parèt nan tèminal la. Nou ka, nan kou, redireksyon tou de stden ak stdou tankou sa a. Koulye a, file2.txt gen liy la nan premye file.txt. Se konsa, lè l sèvi avèk sa yo operatè yo, nou te ap kapab li ak ekri nan fichye tèks. Koulye a, kite a wè ki jan nou kapab itilize randman de yon pwogram kòm D 'a nan yon lòt pwogram yo. Se konsa, isit la nan yon lòt senp C pwogram mwen te isit la yo rele hello.c. Kòm ou ka wè, sa a tou senpleman sorti "Hi la! "nan itilizatè a. Si m 'vle redireksyon yo itilize kòm opinyon randman de alo - yon lòt pwogram - Mwen te kapab premye redireksyon stdou la nan alo nan yon dosye rele input.txt, lè sa a redireksyon stden a nan redireksyon ak sa yo ki menm dosye - input.txt. Se konsa, mwen ka fè. / Alo> input.txt. Peze Antre al touye sa a. Ki te swiv pa. / Redireksyon < input.txt, ak egzekite sa. Se konsa, nou ka diminye sa yon ti jan ak yon virgules, ki pèmèt nou kouri de oubyen plis kòmandman sou liy la menm. Se konsa, mwen ka di,. / Alo> input.txt, virgules, . / Redireksyon Final.txt. Se konsa, si nou louvri moute final.txt, nou gen ekzakteman ki sa nou te kap chèche: yon lis non inik yo nan lòd alfabetik, sove nan yon dosye tèks. By wout la, nou menm tou nou te kapab di sòt < students.txt | unik> final.txt fè egzakteman menm bagay la, lè l sèvi avèk chak nan operatè yo nou te wè nan videyo sa a. Non mwen se Tommy, e sa se CS50.