1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [کمانڈ لائن کے دلائل] 2 00:00:02,000 --> 00:00:04,000 [کرسٹوفر Bartholomew - ہارورڈ یونیورسٹی] 3 00:00:04,000 --> 00:00:07,000 [- CS50.TV یہ CS50 ہے] 4 00:00:07,000 --> 00:00:11,000 ایک پروگرام کے لئے ایک مفید خصوصیت صارف کی ان پٹ کو قبول کرنے کے لئے ہے. 5 00:00:11,000 --> 00:00:15,000 اس طرح اب تک، ہم CS50 لائبریری کے اندر اندر کچھ افعال کی ہے 6 00:00:15,000 --> 00:00:18,000 اس طرح کے طور پر صارف کی ان پٹ، قبول "سٹرنگ کو حاصل کریں،" 7 00:00:18,000 --> 00:00:23,000 جو صارف کا اشارہ ملتا ہے، جبکہ درخواست چل رہا ہے ایک تار کے لئے،. 8 00:00:23,000 --> 00:00:28,000 >> تاہم، مقدمات ہیں جہاں آپ کو آپ کے پروگرام کی ان پٹ فراہم کرنے کے لئے چاہتے ہیں 9 00:00:28,000 --> 00:00:30,000 سے پہلے یہ اصل میں چل رہا ہے. 10 00:00:30,000 --> 00:00:34,000 اس طرح، آپ کو آپ کے صارف سے اضافی معلومات کے لئے کہنے کی ضرورت نہیں ہے 11 00:00:34,000 --> 00:00:38,000 جبکہ ایک آسان کام قتل. 12 00:00:38,000 --> 00:00:42,000 مثال کے طور پر، لو، MV یا UNIX میں اقدام کمانڈ. 13 00:00:42,000 --> 00:00:49,000 یہ کمانڈ کی مدد سے صارف کو ایک مقام سے دوسرے فائل کو منتقل کرنے کے لئے کی اجازت دیتا ہے ہے. 14 00:00:49,000 --> 00:00:55,000 دستی صفحات کے مطابق، MV دو کمانڈ لائن دلائل قبول کرتا ہے: 15 00:00:55,000 --> 00:01:00,000 فائل ہے جو ہے منتقل کر دیا گیا کیا جا رہا ہے اور مقام فائل کیا جا رہا ہے پر منتقل کر دیا گیا ہے. 16 00:01:00,000 --> 00:01:06,000 تو یہ مثال کے طور پر دو دلائل کے ساتھ ایک کمانڈ ہے. 17 00:01:06,000 --> 00:01:14,000 تو ہم اپنے سی کے پروگرام سے کس طرح ان دلائل کمانڈ لائن کا استعمال کرنے کی کیا کہا تھا؟ 18 00:01:14,000 --> 00:01:20,000 >> ٹھیک ہے، یہ پتہ چلا ہے کہ اہم، جو ہم C کے تمام پروگراموں میں استعمال کرتے ہیں، ایک راز ہے. 19 00:01:20,000 --> 00:01:26,000 argc اور argv: مین دو وتر خاص قبول کرتا ہے. 20 00:01:26,000 --> 00:01:28,000 ان شرائط پر جانے دو. 21 00:01:28,000 --> 00:01:33,000 >> پہلا پیرامیٹر، argc، جو دلیل شمار کے لئے کھڑا ہے، 22 00:01:33,000 --> 00:01:36,000 عددی ڈیٹا کی قسم ہے. 23 00:01:36,000 --> 00:01:42,000 argc پیرامیٹر میں دلائل کے حکم نمبر، بشمول پر مشتمل ہے. 24 00:01:42,000 --> 00:01:47,000 ہماری اقدام کی کمان میں، اگرچہ ہم صرف دو دلائل ظاہر ہے، 25 00:01:47,000 --> 00:01:50,000 argc قیمت 3 ہو جائے گا. 26 00:01:50,000 --> 00:01:56,000 دوسرے پیرامیٹر، argv، جو دلیل ویکٹر کے لئے کھڑا ہے، 27 00:01:56,000 --> 00:02:01,000 ایک صف چار اشارہ ہے کہ تاروں کی طرف اشارہ ہے. 28 00:02:01,000 --> 00:02:06,000 >> اس کا مطلب یہ ہے کہ argv میں ہر عنصر، صفر سے شروع ہونے والی ہے، 29 00:02:06,000 --> 00:02:09,000 کمان اور دلائل پر مشتمل ہے. 30 00:02:09,000 --> 00:02:16,000 مثال کے طور پر، argv [0]، جس میں صفر argv کے طور پر حوالہ دیتے ہیں گے، 31 00:02:16,000 --> 00:02:20,000 حکم ہے جو چلائی جا رہی ہے ہمیشہ شامل ہوں گے - 32 00:02:20,000 --> 00:02:22,000 اس صورت میں، MV. 33 00:02:22,000 --> 00:02:28,000 argv [1] پہلی دلیل، file.txt شامل ہوں گے، 34 00:02:28,000 --> 00:02:37,000 اور argv [2] دوسری دلیل پر مشتمل گا، ~ / / cs50. 35 00:02:37,000 --> 00:02:42,000 argv کے آخری دلیل خالی ہمیشہ رہے گا. 36 00:02:42,000 --> 00:02:46,000 تو ان دلائل کمانڈ لائن پر عملدرآمد. 37 00:02:46,000 --> 00:02:53,000 گزشتہ مشقوں میں، ہم باطل رکھ دیا گیا ہے، کچھ نہیں کا مطلب ہے اہم پیرامیٹر کے طور پر،. 38 00:02:53,000 --> 00:02:57,000 تاہم، ہمیں حکم میں دلائل کمانڈ لائن استعمال کرنے کے لئے، 39 00:02:57,000 --> 00:03:12,000 ہم نے اہم int argc، چار * argv] [باطل اور جگہ کے اندر کو دور کرنے کی ضرورت ہے. 40 00:03:12,000 --> 00:03:17,000 اب، argv سے پورے عنصر، جو اپنے دلائل ہیں تک رسائی حاصل کرنے کے لئے، 41 00:03:17,000 --> 00:03:21,000 آپ، صرف یا اس طرح صف کے ذریعے iterate لوپ کر سکتے ہیں. 42 00:03:21,000 --> 00:03:27,000 تو اہم جسم کے، اندر، ہمیں آگے جانا ہے اور لوپ کے لئے ایک قسم کی جا رہے ہیں: 43 00:03:27,000 --> 00:03:37,000 (int میں = 0، میں + +، میں 00:03:41,000 >> ہم نے ایک گھوبگھرالی منحنی خطوط وحدانی کی ضرورت نہیں ہے کیونکہ ہم صرف کوڈ کا ایک لائن پر عمل کر رہے ہیں 45 00:03:41,000 --> 00:03:44,000 اس لوپ کے جسم کے اندر. 46 00:03:44,000 --> 00:03:47,000 ہم آگے بڑھیں اور ٹیب ایک بار مار دونگا، 47 00:03:47,000 --> 00:03:57,000 پھر printf ٹائپ ("argv [٪ D]، ایک عددی قیمت کی نمائندگی کرنے 48 00:03:57,000 --> 00:04:06,000 کی فیصد ہے، سٹرنگ کے لئے، تو نئی سطر کردار ہے. 49 00:04:06,000 --> 00:04:12,000 پھر ہم printf فراہم کرتے ہیں لوپ کی موجودہ iteration کے لئے 50 00:04:12,000 --> 00:04:18,000 اور argv [] موجودہ دلیل کمانڈ لائن کے تار کی نمائندگی کے لئے. 51 00:04:18,000 --> 00:04:25,000 جب ہم نے دو دلائل کے ساتھ چلاتے ہیں، ہم نے کیا جا رہا ہے ٹرمینل میں ظاہر دلائل نظر آئے گا. 52 00:04:34,000 --> 00:04:38,000 اس سے قبل ہم نے کہا ہے کہ argv چار اشارہ کی ایک صف منعقد. 53 00:04:38,000 --> 00:04:45,000 >> تو، اگر یہ معاملہ ہے، تو ہم کس طرح ہر بحث میں انفرادی حروف تک رسائی؟ 54 00:04:45,000 --> 00:04:51,000 مثال کے طور پر، کیا ہوا اگر میں نے پہلی بحث میں ایک مخصوص کردار تلاش کرنے کے لئے کرنا چاہتا تھا؟ 55 00:04:51,000 --> 00:04:55,000 ٹھیک ہے تو اس کا جواب یہ ہے کہ ہم ایک اندر در اندر لوپ کو لاگو کرنے کی ضرورت ہے 56 00:04:55,000 --> 00:04:59,000 جو دلیل سٹرنگ میں عناصر میں سے ہر ایک کے ذریعے iterate گا. 57 00:04:59,000 --> 00:05:02,000 یہ ہے کہ آپ اسے کس طرح کرتے ہیں. 58 00:05:02,000 --> 00:05:10,000 >> سب سے پہلے، ہم example2.c کی ایک کاپی بنانے کے لئے جا رہے ہیں. 59 00:05:10,000 --> 00:05:13,000 اس کے بعد، اندر لوپ کے لئے سب سے پہلے، 60 00:05:13,000 --> 00:05:15,000 ہم لوپ کے لئے ایک اضافی شامل کرنے کے لئے جا رہے ہیں. 61 00:05:15,000 --> 00:05:28,000 تو (int J = 0، (ن) strlen = (argv [میں]،) 62 00:05:28,000 --> 00:05:32,000 جو اس کے بعد ہمیں موجودہ دلیل کی لمبائی دیتا ہے، 63 00:05:32,000 --> 00:05:39,000 ، J ن <؛ J +) + 64 00:05:39,000 --> 00:05:43,000 ہم نے ہر کردار کے محل وقوع کے پرنٹ کے لئے جا رہے ہیں 65 00:05:43,000 --> 00:05:47,000 printf کا استعمال کرتے ہوئے کی طرف سے موجودہ دلیل کے اندر. 66 00:05:47,000 --> 00:05:57,000 تو، printf ("argv [٪ D]، موجودہ دلیل کی انڈیکس کی نمائندگی 67 00:05:57,000 --> 00:06:05,000 تو [٪ D] ایک بار پھر، موجودہ دلیل کی موجودہ کردار کی نمائندگی 68 00:06:05,000 --> 00:06:13,000 ہے:٪ C دلیل میں موجودہ کردار کے لئے. 69 00:06:13,000 --> 00:06:20,000 آخر میں، ہم بیرونی لوپ کی فہرست کے ساتھ printf فراہم کرتے ہیں، میں 70 00:06:20,000 --> 00:06:22,000 تو اندرونی لوپ کی فہرست. 71 00:06:22,000 --> 00:06:28,000 >> اور ہماری آخری کی دلیل printf فراہم کردہ دلیل سے اصل کردار ہے 72 00:06:28,000 --> 00:06:31,000 کمانڈ لائن پر. 73 00:06:31,000 --> 00:06:37,000 اب، میں سٹرنگ strlen تقریب کا استعمال کیا ہے ایک تار کی لمبائی کو حاصل کرنے کے لئے کی وجہ سے، 74 00:06:37,000 --> 00:06:43,000 میں string.h لائبریری بھی ہمارے شامل ہیں کے سب سے اوپر پر شامل کرنا لازمی ہے. 75 00:06:43,000 --> 00:06:50,000 ایسا ہے، تو ایسا کرنے کے لئے، ہم نے جانا، اور صرف stdio.h کے تحت، ہم کرنے جا رہے ہیں کریں گے 76 00:06:50,000 --> 00:06:57,000 # شامل ہیں. 77 00:06:57,000 --> 00:07:02,000 >> تو، اور چلانے آرکائیو کریں اور اسے ایک حقیقی دلیل فراہم کریں. 78 00:07:09,000 --> 00:07:18,000 >> اور ہم کے طور پر دیکھ سکتے ہیں، اب ہم دلیل میں ہر انفرادی حروف کی صحیح جگہ ہے. 79 00:07:18,000 --> 00:07:23,000 تو یہ بات ہے. میں کرسٹوفر Bartholomew ہوں، اس CS50 ہے. 80 00:07:23,000 --> 00:07:26,000 [CS50.TV]