>> DAVID J. مالان: دعونا نأخذ الأمور خطوة أخرى إلى الأمام، الآن.
لنفترض أنني لا نريد فقط لطباعة كل من بلدي البرنامج
وسائط سطر الأوامر.
لكنني، بدلا من ذلك، تريد طباعة كافة الأحرف الفردية في كل من
حججي سطر الأوامر، في واحد الخط، بحيث أنه عند تشغيل هذا
البرنامج، وأنا ببساطة رؤية تيار من الأحرف على الشاشة التي
بشكل جماعي من تسلسل بلدي من الحجج سطر الأوامر.
>> حسنا، كيف يمكن أن أفعل هذا؟
أستطيع أن تبقي سليمة حلقة بلدي من قبل حيث أنا تكرارية من أنا حتى
ARGC من أجل إدماج على سطر الأوامر الحجج نفسها.
ولكن الآن، في كل تكرار ذلك حلقة، ولست بحاجة إلى تكرار الآن على كل
من الشخصيات أو حرف في سلسلة محددة.
حتى أن تفعل ذلك، وأنا في حاجة واحدة أكثر حلقة.
>> دعونا نضيف ذلك.
لكثافة العمليات، دعونا نسميها ي، يساوي 0.
الآن أنا بحاجة الى الذهاب الى دمج حتى طول
سلسلة الحالي في ARGV.
لذلك اسمحوا لي أن أقدم نفسي محلي آخر متغير، ونحن سوف يطلق عليه ن، وتعيين
أن يساوي طول سلسلة من الحجة الحالي، والتي ستكون
وجدت في قوس ARGV ط منقوطة.
>> اسمحوا لي الآن من تكرار ما يصل ي حتى يتبع ن قبل
زيادة على كل تكرار.
دعونا الآن طباعة الفرد الأحرف على الشاشة.
ج Printf٪ هذه المرة تليها جديدة خط، واقتبس وثيق، فاصلة، وأنا الآن
في حاجة إلى حرف ي ال في حجة ط ال.
>> وذلك للحصول على ذلك، يمكنني ببساطة تحديد المضادة للفيروسات القهقرية قوس ط ل
الحصول على حجة ط ال.
وبعد ذلك يمكنني أن الغوص في أعمق مستوى واحد والقيام المؤشر الثانوي لل
قوس ي، قوس إغلاق، منقوطة، حفظ.
ودعونا الآن تجميع و تشغيل هذا البرنامج.
>> جعل ARGV2 -
ليس تماما ما كنت أتوقع.
دعونا انتقل لأعلى لأول رسائل الخطأ هذه.
وباللون الأحمر هنا، ونحن نرى الخطأ، يعلن ضمنا وظيفة المكتبة
strlen مع نوع -
أوه، انتظر لحظة.
هذه هي المرة الأولى التي تستخدم strlen، وأنا لم تتوقع
يريد ذلك في البداية، لذلك أنا لم تشمل ملف الرأس الذي يعلن
طول ظيفة السلسلة.
>> حتى في أعلى الملف الخاص بي، أذكر، ولدي CS50.h.
لدي io.h. القياسية
ولكن كما تبين، وأنا أعرف هذا من قراءة الوثائق، التي أحتاج
ملف رأس الثالث لو كنت، في الواقع، تريد استخدام وظيفة strlen.
وأعلن أن وظيفة في string.h.
>> دعونا إعادة حفظ الملف، تجميع وتشغيل.
وهذه المرة، ونحن نفعل وليس فقط ترى كل من الحجج.
ونحن نرى بعضنا بدلا من الحجج حرف واحد في وقت واحد.