2 00:00:00,000 --> 00:00:01,860 >> اسپیکر 1: کی ایک نظر ڈالیں CS50 لائبریری میں، 3 00:00:01,860 --> 00:00:05,190 خاص طور پر اس میں GetInt تقریب. 4 00:00:05,190 --> 00:00:07,820 یہاں ہم اصل منبع ہے میں GetInt کے لئے کوڈ. 5 00:00:07,820 --> 00:00:12,050 اور یہ بہت زیادہ طویل نہیں ہے کہ توجہ اور اس کا سب سے زیادہ جبکہ لوپ کی تشکیل - 6 00:00:12,050 --> 00:00:15,620 اس میں ایک لامحدود لوپ - صرف ہم اصل میں ایک بار ایک کی قیمت کی واپسی 7 00:00:15,620 --> 00:00:17,400 ہم توقع کیا ہو گیا. 8 00:00:17,400 --> 00:00:18,700 کی اس کے ذریعے چل دو. 9 00:00:18,700 --> 00:00:21,650 >> ، سب سے پہلے یہاں نوٹس لوپ شروع ہوتا ہے جبکہ. 10 00:00:21,650 --> 00:00:25,390 ہم کوڈ کا ایک لائن ہے کہ اگلے نوٹس کہ اصل میں، GetString کا مطالبہ 11 00:00:25,390 --> 00:00:29,620 اور ایک میں واپسی کی قیمت ذخیرہ متغیر، قسم سٹرنگ کی، لائن کہا جاتا ہے. 12 00:00:29,620 --> 00:00:31,210 پھر ہم وویک چیک کے تھوڑا سا ہے. 13 00:00:31,210 --> 00:00:35,770 لائن نل == تو ہم دلچسپ INT_MAX واپس. 14 00:00:35,770 --> 00:00:40,140 >> اب یہ INT_MAX ہے پتہ چلا ہے کہ ایک خصوصی مسلسل دوسری جگہوں کا اعلان کر دیا 15 00:00:40,140 --> 00:00:44,030 کہ سب سے بڑی ممکن کی وضاحت آپ کو ایک میں نمائندگی کر سکتے ہیں کہ int میں 16 00:00:44,030 --> 00:00:45,160 اس طرح کے پروگرام. 17 00:00:45,160 --> 00:00:49,430 اب ہم منمانے واپس کرنے کا فیصلہ کیا ہے کے ایک پرہری قیمت کے طور پر INT_MAX 18 00:00:49,430 --> 00:00:53,120 قسم، ہم نے محفوظ کیا ہے کہ ایک ایک غلطی کا مطلب واقع ہوئی ہے. 19 00:00:53,120 --> 00:00:56,230 تو ہم ادا کی قیمت، کورس کے، ہے اس GetInt بظاہر نہیں کر سکتے ہیں 20 00:00:56,230 --> 00:01:01,440 اصل کے طور پر کے طور پر بڑے ایک بڑی تعداد واپس INT_MAX، یہ چاہتا ہے یہاں تک کہ اگر اس وجہ سے، 21 00:01:01,440 --> 00:01:04,730 کہ واپسی کی قیمت واقعی چاہئے فون کرنے والے کی طرف سے تشریح کی جائے - 22 00:01:04,730 --> 00:01:06,260 جس GetInt کا استعمال کرتے ہوئے ہے - 23 00:01:06,260 --> 00:01:09,340 کسی قسم کی ایک غلطی کے طور پر. 24 00:01:09,340 --> 00:01:13,840 >> اگلا، میں نے اعلان کیا ہے کہ محسوس ایک int ن اور ایک چار سی. 25 00:01:13,840 --> 00:01:18,030 کوڈ کا یہ اگلی لائن میں، میں نے ایک کال sscanf کی ملاقات کی تقریب، میں گزر 26 00:01:18,030 --> 00:01:18,970 چار دلائل. 27 00:01:18,970 --> 00:01:25,110 تار ہے جس میں لائن، صارف کی ایک شکل ہے جس میں ٹائپ، "٪ میں٪ C"، 28 00:01:25,110 --> 00:01:28,850 میں صارف طاقت امید کر رہا ہوں کہ سٹرنگ کے ایڈریس کے بعد کی قسم، 29 00:01:28,850 --> 00:01:30,920 (ن)، اور C کا پتہ. 30 00:01:30,920 --> 00:01:34,860 زندگی میں اب sscanf کی مقصد یقینا ہے کے لئے تلاش ایک تار اسکین 31 00:01:34,860 --> 00:01:38,700 خاص طور پر فارمیٹ ہے کہ پروگرامر کہ دوسری دلیل کے طور پر مقرر کی ہے. 32 00:01:38,700 --> 00:01:42,020 اس صورت میں، میں نے میں ہے ،٪ C ہے کے طور پر. 33 00:01:42,020 --> 00:01:46,700 sscanf کی میں ایک int مقابلوں تو اگر صارف کی ان پٹ، کہ INT ذخیرہ کیا جائے گا 34 00:01:46,700 --> 00:01:50,270 کہا جاتا ن متغیر، کے اندر کی وجہ ہم تیسری کے طور پر فراہم کی ہے 35 00:01:50,270 --> 00:01:52,810 (ن) کا پتہ sscanf کی دلیل. 36 00:01:52,810 --> 00:01:56,870 کون sscanf کی واقعی جا سکتے ہیں کا مطلب ہے کہ وہاں، اور اس کی قیمت کو اپ ڈیٹ. 37 00:01:56,870 --> 00:01:59,990 >> اب صورت میں صارف اقسام کچھ میں 38 00:01:59,990 --> 00:02:01,220 ایک یا زیادہ ہندسے سے - 39 00:02:01,220 --> 00:02:03,570 دوسرے الفاظ میں، کسی قسم کی چار - 40 00:02:03,570 --> 00:02:07,940 جس کا پتہ کہ دوسری متغیر C، ہم نے اس کے چوتھی کے طور پر sscanf کی میں منظور 41 00:02:07,940 --> 00:02:10,560 دلیل بھی آبادی ہو جائے گا. 42 00:02:10,560 --> 00:02:14,220 اب ایک کے لئے کی جانچ پڑتال کے الٹا صارف کی طرف سے اضافی کردار ہے 43 00:02:14,220 --> 00:02:17,360 کہ وہ تعاون نہیں کرتا، اور صرف ایک int سے زیادہ میں کی اقسام، 44 00:02:17,360 --> 00:02:20,530 ہم اس میں اس کا پتہ لگانے کے قابل ہو جائے گا انداز، اس صورت میں، sscanf کی وجہ 45 00:02:20,530 --> 00:02:24,860 اشارہ، 2 واپس جا رہا ہے کہ جگہ دار کے دونوں بھرے ہوئے تھے 46 00:02:24,860 --> 00:02:25,600 اقدار کے ساتھ. 47 00:02:25,600 --> 00:02:30,360 لیکن ہم بجائے کہ sscanf کی امید کر رہے ہیں صرف صارف جس کا مطلب ہے، 1 واپس 48 00:02:30,360 --> 00:02:31,630 ایک int فراہم کی. 49 00:02:31,630 --> 00:02:34,480 >> ہم کیا کرتے ہیں اگر sscanf کی بے شک 1 واپس؟ 50 00:02:34,480 --> 00:02:39,150 ٹھیک ہے، ہم فوری طور پر مفت ڈاؤن لوڈ، ہے صارف میں ٹائپ، اور ہم 51 00:02:39,150 --> 00:02:42,670 فوری طور پر ہے، (ن) کے واپس ایک int ہو گیا. 52 00:02:42,670 --> 00:02:47,180 ورنہ، sscanf کی 1 واپس، اور نہیں ہے صارف وجہ سے تعاون نہیں کیا، 53 00:02:47,180 --> 00:02:51,470 ہم اب بھی مفت ڈاؤن لوڈ، لیکن ہم اب دوبارہ کوشش کرنے کے لئے صارف کو فوری طور. 54 00:02:51,470 --> 00:02:55,390 اور ہم نے اس کے اندر اب بھی ہیں کیونکہ دوسری صورت میں لامحدود لوپ، عمل 55 00:02:55,390 --> 00:03:00,190 دوبارہ شروع، اور شاید ایک بار پھر، اور شاید ایک بار پھر، جب تک صارف اصل میں 56 00:03:00,190 --> 00:03:01,500 ہم ایک int فراہم کرتا ہے. 57 00:03:01,500 --> 00:03:21,490