1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. MALAN: Ας πάρουμε τα πράγματα ένα βήμα παραπέρα, τώρα. 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 'Επαναληπτική από 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 χρειάζονται την ι-ου χαρακτήρα στο επιχείρημα i-th. 27 00:01:25,565 --> 00:01:30,240 >> Έτσι για να πάρετε σε αυτό, μπορώ απλά καθορίσετε βραχίονα ARV i να 28 00:01:30,240 --> 00:01:32,050 πάρετε το επιχείρημα i-th. 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 oh, περιμένετε ένα λεπτό. 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