1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> דוד י מלאן: בואו ניקח דברים צעד אחד קדימה, עכשיו. 3 00:00:02,460 --> 00:00:05,450 נניח שאני לא רק רוצה כדי להדפיס את כל תכניתו שלי 4 00:00:05,450 --> 00:00:06,630 טיעוני שורת הפקודה. 5 00:00:06,630 --> 00:00:10,490 אבל אני, במקום, רוצה להדפיס את כל תווים בודדים בכל אחד מ 6 00:00:10,490 --> 00:00:14,060 טיעוני שורת הפקודה שלי, לכל אחד קו, כך שעם הפעלה זו 7 00:00:14,060 --> 00:00:17,490 תכנית, אני פשוט רואה זרם של דמויות על המסך, כי 8 00:00:17,490 --> 00:00:20,700 הם ביחד מהרצף שלי הארגומנטים בשורת הפקודה. 9 00:00:20,700 --> 00:00:21,980 >> ובכן, איך אני יכול לעשות את זה? 10 00:00:21,980 --> 00:00:26,540 אני יכול לשמור על שלמותה הלולאה שלי מלפני לפיה אני איטרטיבי מi עד 11 00:00:26,540 --> 00:00:30,060 Argc על מנת לשלב מעל שורת פקודת טיעונים עצמם. 12 00:00:30,060 --> 00:00:34,460 אבל עכשיו, בתוך כל איטרציה של ש לולאה, אני צריך לחזר עכשיו מעל כל 13 00:00:34,460 --> 00:00:38,550 של התווים או תווים במחרוזת ספציפית. 14 00:00:38,550 --> 00:00:40,620 אז כדי לעשות את זה, אני צריך לולאה אחת יותר. 15 00:00:40,620 --> 00:00:42,090 >> בואו נוסיף את זה. 16 00:00:42,090 --> 00:00:46,890 עבור int, בואו נקראים לזה j, שווה 0. 17 00:00:46,890 --> 00:00:49,980 עכשיו אני הולך לצריך לשלב עד האורך של 18 00:00:49,980 --> 00:00:52,310 מחרוזת נוכחית בargv. 19 00:00:52,310 --> 00:00:55,910 אז תן לי לתת לעצמי עוד מקומי משתנה, אנחנו קוראים לזה n, ולהגדיר 20 00:00:55,910 --> 00:01:00,120 כי שווה לאורך המחרוזת של טיעון הנוכחי, שהולך להיות 21 00:01:00,120 --> 00:01:04,230 מצא בסוגר argv i פסיק. 22 00:01:04,230 --> 00:01:08,500 >> עכשיו תן לי לחזר מj עד עד אחרי n על ידי 23 00:01:08,500 --> 00:01:10,400 להגדיל בכל איטרציה. 24 00:01:10,400 --> 00:01:13,850 בואו עכשיו להדפיס את הפרט דמויות על המסך. 25 00:01:13,850 --> 00:01:21,920 Printf% c הפעם אחריו חדש קו, ציטוט קרוב, פסיק, ועכשיו אני 26 00:01:21,920 --> 00:01:25,565 צריך אופי j-th בויכוח i-ה. 27 00:01:25,565 --> 00:01:30,240 >> אז כדי לקבל את זה, אני פשוט לא יכול תציין סוגר ARV i ל 28 00:01:30,240 --> 00:01:32,050 לקבל את טענת i-ה. 29 00:01:32,050 --> 00:01:36,140 ואז אני יכול לצלול ברמה אחת עמוק יותר ולעשות את האינדקס המשני של 30 00:01:36,140 --> 00:01:40,420 j סוגר, קרובים סוגריים, פסיק, שמור. 31 00:01:40,420 --> 00:01:43,610 ובואו עכשיו לקמפל ו להפעיל את התכנית. 32 00:01:43,610 --> 00:01:46,630 >> הפוך ARGV2 - 33 00:01:46,630 --> 00:01:48,440 לא בדיוק מה שציפיתי. 34 00:01:48,440 --> 00:01:50,740 בואו לגלול עד הראשון של הודעות שגיאה. 35 00:01:50,740 --> 00:01:54,540 ובאדום כאן, אנו רואים שגיאה, פונקצית ספרייה במרומז הכרזה 36 00:01:54,540 --> 00:01:56,290 strlen עם סוג - 37 00:01:56,290 --> 00:01:57,380 הו, חכה רגע. 38 00:01:57,380 --> 00:02:00,340 זו הפעם הראשונה שאני משמש strlen, ואני לא ציפיתי 39 00:02:00,340 --> 00:02:04,970 רוצה את זה בהתחלה, כך שאני לא כללתי קובץ הכותרת שמצהיר 40 00:02:04,970 --> 00:02:06,290 פונקצית אורך מחרוזת. 41 00:02:06,290 --> 00:02:09,419 >> אז בחלק העליון של התיק שלי, כזכור, יש לי CS50.h. 42 00:02:09,419 --> 00:02:11,080 יש לי io.h. הסטנדרטי 43 00:02:11,080 --> 00:02:14,500 אבל מתברר, ואני יודע את זה מ לקרוא את התיעוד, כי אני צריך 44 00:02:14,500 --> 00:02:18,320 קובץ כותרת שלישי אם אני, אכן, רוצה להשתמש בפונקצית strlen. 45 00:02:18,320 --> 00:02:22,760 הפונקציה שהכריזה בstring.h. 46 00:02:22,760 --> 00:02:25,230 >> בואו לשמור את הקובץ, לקמפל ולהריץ. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 והפעם, אנחנו עושים לא רק רואה כל אחד מהטיעונים. 49 00:02:35,570 --> 00:02:40,470 אנחנו במקום לראות כל אחד מהטיעונים תו אחד בכל פעם. 50 00:02:40,470 --> 00:02:43,165