1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. Malan: Chúng ta hãy điều thêm một bước nữa, ngay bây giờ. 3 00:00:02,460 --> 00:00:05,450 Giả sử rằng tôi không chỉ muốn để in tất cả các chương trình của tôi 4 00:00:05,450 --> 00:00:06,630 đối số dòng lệnh. 5 00:00:06,630 --> 00:00:10,490 Nhưng tôi, thay vào đó, muốn in tất cả các đặc điểm cá nhân trong mỗi 6 00:00:10,490 --> 00:00:14,060 đối số dòng lệnh của tôi, mỗi dòng, do đó, khi chạy này 7 00:00:14,060 --> 00:00:17,490 chương trình, tôi chỉ đơn giản là nhìn thấy hình ảnh của ký tự trên màn hình 8 00:00:17,490 --> 00:00:20,700 chung là từ chuỗi của tôi các đối số dòng lệnh. 9 00:00:20,700 --> 00:00:21,980 >> Vâng, làm thế nào tôi có thể làm điều này? 10 00:00:21,980 --> 00:00:26,540 Tôi có thể giữ nguyên vẹn vòng lặp của tôi từ trước nhờ đó mà tôi lặp đi lặp lại từ tôi cho đến 11 00:00:26,540 --> 00:00:30,060 Argc để tích hợp trong đối số dòng lệnh mình. 12 00:00:30,060 --> 00:00:34,460 Nhưng bây giờ, trong mỗi lần lặp đó vòng lặp, tôi cần bây giờ lặp qua mỗi 13 00:00:34,460 --> 00:00:38,550 các nhân vật hoặc ký tự trong một chuỗi cụ thể. 14 00:00:38,550 --> 00:00:40,620 Vì vậy, để làm được điều đó, tôi cần một vòng lặp hơn. 15 00:00:40,620 --> 00:00:42,090 >> Hãy thêm đó. 16 00:00:42,090 --> 00:00:46,890 cho int, chúng ta hãy gọi nó là j, bằng 0. 17 00:00:46,890 --> 00:00:49,980 Bây giờ tôi sẽ cần phải tích hợp cho đến chiều dài của 18 00:00:49,980 --> 00:00:52,310 chuỗi hiện trong argv. 19 00:00:52,310 --> 00:00:55,910 Vì vậy, hãy để tôi cung cấp cho bản thân mình một địa phương biến, chúng tôi sẽ gọi nó là n, và thiết lập 20 00:00:55,910 --> 00:01:00,120 mà bằng với chiều dài của chuỗi tranh luận hiện tại, mà là có được 21 00:01:00,120 --> 00:01:04,230 được tìm thấy trong argv khung i dấu chấm phẩy. 22 00:01:04,230 --> 00:01:08,500 >> Bây giờ tôi lặp từ j lên cho đến khi n theo sau bởi một 23 00:01:08,500 --> 00:01:10,400 tăng trên mỗi lần lặp. 24 00:01:10,400 --> 00:01:13,850 Bây giờ hãy in cá nhân ký tự trên màn hình. 25 00:01:13,850 --> 00:01:21,920 Printf% c lần này kéo theo một mới dòng, trích dẫn gần, dấu phẩy, và bây giờ tôi 26 00:01:21,920 --> 00:01:25,565 cần nhân vật thứ j trong đối số thứ i. 27 00:01:25,565 --> 00:01:30,240 >> Vì vậy, để có được ở đó, tôi có thể chỉ đơn giản là xác định khung ARV tôi để 28 00:01:30,240 --> 00:01:32,050 được đối số thứ i. 29 00:01:32,050 --> 00:01:36,140 Và sau đó tôi có thể lặn trong một mức độ sâu hơn và làm một chỉ số thứ hai của 30 00:01:36,140 --> 00:01:40,420 khung j, ngoặc gần, dấu chấm phẩy, Save. 31 00:01:40,420 --> 00:01:43,610 Và bây giờ chúng ta biên dịch và chạy chương trình này. 32 00:01:43,610 --> 00:01:46,630 >> Làm ARGV2 - 33 00:01:46,630 --> 00:01:48,440 không hoàn toàn những gì tôi mong đợi. 34 00:01:48,440 --> 00:01:50,740 Chúng ta hãy di chuyển lên để là người đầu tiên các thông báo lỗi. 35 00:01:50,740 --> 00:01:54,540 Và màu đỏ ở đây, chúng ta thấy lỗi, ngầm tuyên bố chức năng thư viện 36 00:01:54,540 --> 00:01:56,290 strlen với các loại - 37 00:01:56,290 --> 00:01:57,380 oh, chờ một phút. 38 00:01:57,380 --> 00:02:00,340 Đây là lần đầu tiên tôi đã sử dụng strlen, và tôi đã không dự đoán 39 00:02:00,340 --> 00:02:04,970 muốn nó ở đầu tiên, vì vậy tôi đã không bao gồm tập tin tiêu đề mà tuyên bố 40 00:02:04,970 --> 00:02:06,290 chiều dài chuỗi chức năng. 41 00:02:06,290 --> 00:02:09,419 >> Vì vậy, ở trên cùng của tập tin của tôi, thu hồi, tôi có CS50.h. 42 00:02:09,419 --> 00:02:11,080 Tôi có io.h. tiêu chuẩn 43 00:02:11,080 --> 00:02:14,500 Nhưng nó quay ra, và tôi biết điều này từ đọc tài liệu, mà tôi cần 44 00:02:14,500 --> 00:02:18,320 một tập tin tiêu đề thứ ba nếu tôi, thực sự, muốn sử dụng chức năng strlen. 45 00:02:18,320 --> 00:02:22,760 Đó là chức năng được khai báo trong string.h. 46 00:02:22,760 --> 00:02:25,230 >> Hãy lưu lại các tập tin, biên dịch và chạy. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 Và lần này, chúng tôi không chỉ gặp nhau của các đối số. 49 00:02:35,570 --> 00:02:40,470 Chúng tôi thay vì nhìn thấy nhau của các đối số một nhân vật tại một thời điểm. 50 00:02:40,470 --> 00:02:43,165