[Powered by Google Translate] ٹومی: ہم نے اس ویڈیو میں کے بارے میں جاننے گے منتقل کیا جا رہا ہے اور پائپوں. اب تک، ہم کیا گیا ہے افعال کا استعمال کرتے ہوئے کی طرح printf پر ٹرمینل پر پیداوار کے اعداد و شمار اور GetString کی طرح کام کرتا ہے صارف ہمارے ان پٹ فراہم کرنے کے لئے کی اجازت کی بورڈ کا استعمال کرتے ہوئے پروگرام. چلو جلدی سے ایک ایسا پروگرام ہے جو ایک لائن مل جاتی ہے پر ایک نظر ڈالیں صارف کی طرف سے ان پٹ اور پھر اس کے نتائج. 7 آن لائن، ہم ایک تار کے لیے صارف نے فورا ہی کر رہے ہیں، اور پھر 8 لائن پر ہم اسے پرنٹ واپس کر رہے ہیں باہر. اور چلانے کے ہمارے پروگرام مرتب کریں. بہت اچھا ہے. سٹرنگ ہم فراہم واپس مائدونت کیا گیا ہمیں اڈے. یہ ہوا کیونکہ printf تقریب ایک خط لکھا ندی نے معیاری باہر، یا S T-D-باہر ہے. جب کچھ stdout کے وزٹرز کا ریکارڈ رکھا جائے گا، پہلے سے طے شدہ کی طرف سے ہے ٹرمینل کی طرف سے ظاہر ہے. تو یہ سب ٹھیک اور اچھا ہے، لیکن کیا اگر بجائے صرف کی سٹرنگ آویزاں کرنا، ہم اس کے لئے ایک فائل کو بچانے کے لئے کرنا چاہتا تھا؟ مثال کے طور پر، ہم کو یاد رکھنا چاہتے ہیں بالکل وہی جو ہمارے پروگرام کیا جب ہم یہ خاص طور پر ان پٹ کے بعد دیا ہے. ایک نقطہ نظر ہماری C پروگرام میں یہ کرتے ہیں، کا استعمال کرتے ہوئے کی ہو گی فائلوں کو لکھنے کے لئے کچھ خاص کام کرتا ہے کہ ہم کریں گے ایک اور ویڈیو میں ملاحظہ کریں. بھی آسان، لیکن کسی نہ کسی طرح ہو گی ایک فائل stdout ری. اس طرح، جب printf stdout لکھتے ہیں، مواد گے ایک فائل کے بجائے لکھا جائے ٹرمینل کی طرف سے ظاہر ہے. کے بعد ہم سے بڑا ایک علامت کا اضافہ کر کے ایسا کر سکتے ہیں، ایک فائل کے نام کی طرف سے، ہم نے حکم اپنے پروگرام پر عمل کرنے کے لئے استعمال کرتے ہیں. تو، بجائے صرف قتل / ری، ہم کر سکتے ہیں. چلانے / ری، علامت سے زیادہ کے بعد، کے بعد. file.txt طرح فائل کا نام،. چلو دیکھتے ہیں کیا ہوتا ہے. ٹھیک ہے. یاد رکھیں کہ اس وقت، کچھ بھی نہیں، ٹرمینل میں ظاہر کیا گیا تھا، لیکن ہم ہمارے مواد میں تبدیلی نہیں کی ہے C پروگرام بالکل. اب LS کے ساتھ اس ڈائریکٹری کے مواد کی جانچ پڑتال کرنے دو ٹھیک ہے. اب ہم ہماری فہرست میں ایک نئی فائل بلایا file.txt ہے، جو کہ فائل کے نام ہم فراہم جب ہم اپنے بھاگ گیا ہے پروگرام لوٹایا. کی file.txt کھول دو. اور یہاں ہم دیکھتے ہیں، کہ ری stdout باہر گیا تھا ملاقات کی file.txt فائل میں لکھا ہے. تو پچھلے کمانڈ دوبارہ چلائیں، لیکن ایک کی فراہمی مختلف ان پٹ اس وقت. ٹھیک ہے. چلو file.txt میں دیکھو، اب لے. تو ہم یہاں دیکھتے ہیں کہ فائل ادلیکھت کر دیا گیا ہے کر سکتے ہیں، ہماری وہاں اصل ان پٹ نہیں ہے. اگر ہم بجائے اس ملف (فائل) سے ملحق کرنا چاہتے ہیں، نئے ڈال فائل کی موجودہ مواد کے نیچے ان پٹ، ہم یہ کر سکتے ہیں صرف ایک کے بجائے دو علامات سے بڑا کا استعمال کریں. چلو کہ کی کوشش. اب، اگر ہم file.txt دوبارہ کھولتے ہیں، ہم نے ہمارے دونوں دیکھ سکتے ہیں ان پٹ کی لائنز. کچھ صورتوں میں، ہم کسی بھی ضائع کرنا چاہتے ہیں کر سکتے ہیں ہمارے پروگرام کی پیداوار ہے. بلکہ ایک فائل پیداوار لکھنے اور پھر حذف کرنے سے فائل جب ہم نے اس کے ساتھ کیا کیا کر رہے ہیں، ہم خصوصی لکھ سکتے ہیں فائل ملاقات کی / دیو / شہوت انگیز null. کچھ / جب کے وزٹرز کا ریکارڈ رکھا جائے گا ہے dev/null-- یا صرف مختصر devnull - یہ خود کار طریقے سے ضائع کیا جاتا ہے. تو آپ کے ڈیٹا کے لئے ایک بلیک ہول کے طور پر devnull کے بارے میں سوچو. تو اب ہم نے دیکھا ہے سے بڑھ کر نشانی کس طرح ری ڈائریکٹ کر سکتے ہیں ہے stdout، یہ دیکھنے کی ضرورت ہے کہ ہم کس طرح میں معیاری ری کر سکتے ہیں - یا ایس T-D-- stdout کے analogue. جبکہ افعال printf پسند کہا جاتا سلسلہ لکھیں stdout GetString، اور اسی طرح کے افعال سلسلہ سے پڑھا کہا جاتا stdin، جو، ڈیفالٹ کی طرف سے، کے نالے ہے حروف کی بورڈ میں ٹائپ ہے. بعد ہم علامت سے کم استعمال کرتے ہوئے stdin ری کر سکتے ہیں، فائل کے نام کی طرف سے. اب، بجائے ان پٹ کے لئے صارف نے فورا ہی ٹرمنل ایک پروگرام فائل کو کھولنے ہم مخصوص اور استعمال کریں گے ان پٹ کے طور پر اپنے لائنوں. چلو دیکھتے ہیں کیا ہوتا ہے. بہت اچھا ہے. file.txt کی پہلی لائن ہے ٹرمینل میں طباعت کیونکہ ہم GetString ایک بار فون کر رہے ہیں. اگر ہم اپنے پروگرام کے میں GetString پر ایک اور کال پڑا، file.txt کی اگلی لائن کیا گیا ہے کے طور پر کرتے اس کال تداخل. ایک بار پھر، ہم نے ہمارے C کے پروگرام میں ترمیم نہیں کیا ہے بالکل. ہم کہ ہم کس طرح اسے چلانے کے لئے صرف تبدیل کر رہے ہیں. اور یہ بھی یاد رکھنا، ہم ری ڈائریکٹ stdout نہیں ہے اس وقت، پروگرام کے پیداوار میں بھی ٹرمینل میں ظاہر ہے. ظاہر کی، ہم دونوں stdin ری کر سکتے ہیں اور اس طرح stdout. اب، file2.txt file.txt کی پہلی لائن پر مشتمل ہے. تو، ان آپریٹرز کا استعمال کرتے ہوئے، ہم پڑھیں اور کرنے کے قابل ہو گیا ہے متن فائلوں سے لکھتے ہیں. اب، یہ دیکھنے کی ضرورت ہے کہ ہم کس طرح کے طور پر ایک پروگرام کی پیداوار میں استعمال کر سکتے ہیں کسی دوسرے پروگرام کے ان پٹ. تو یہاں ایک اور سادہ سی پروگرام ہے، میں یہاں hello.c ملاقات کی. جیسا کہ آپ دیکھ سکتے ہیں، یہ صرف نتائج "ہیلو صارف کو ". اگر میں ان پٹ کے طور پر خوش کی پیداوار کرنے کے لئے استعمال کی ری چاہتے ہیں - کسی دوسرے پروگرام - میں ہیلو کے stdout پہلے نامی فائل پر ری ڈائریکٹ کر سکتے input.txt، تو ہے جو ایک ہی ری stdin ری فائل - input.txt. تو مجھے کیا کرنا / ہیلو input.txt> کر سکتے ہیں. اس پر عمل کرنے کیلئے انٹر دبائیں. کے بعد. / ری < input.txt، اور یہ کہ پھانسی. تو ہم ایک نیم وقفہ کے ساتھ یہ تھوڑا سا قصر کر سکتے ہیں، جس کی اجازت دیتا ہے ہمیں ایک ہی لائن پر دو یا دو سے زیادہ حکم چلانے کے لئے. تو میں کہتا ہوں، سکتا / ہیلو> input.txt، نیم وقفہ، / final.txt. تو، اگر ہم نے final.txt کھولتے ہیں تو، ہم بالکل وہی جو ہم تھے کے لئے تلاش رہیں ہیں: حروف تہجی کی ترتیب میں منفرد ناموں کی ایک فہرست، ایک ٹیکسٹ فائل میں محفوظ ہوگیا. ویسے ہم بھی <طرح کہا جا سکتا ہے students.txt | بالکل uniq> کیا final.txt پر ایک ہی چیز، آپریٹرز ہم میں دیکھا ہے میں سے ہر ایک کا استعمال کرتے ہوئے اس ویڈیو. میرا نام ٹومی ہے، اور اس CS50 ہے.