Command Line Argument in C/C++

ไม่ได้อัพ Blog มาสักพักเลยนะครับ
ช่วงนี้ช่วงสอบ วันนี้สอบตัวหนักๆ เสร็จ
พักสมองด้วยการเขียนเรื่องที่อยากเขียนมาสักพักหนึ่งแล้ว

เราจะมาว่ากันเรื่อง Command Line Argument in C/C++
ซึ่งเวลาเขียนภาษา C/C++ เรามักจะชินกับ โครงสร้างแบบนี้

C++ Language

C Language
ซึ่งการเขียนโครงสร้างแบบนี้ ถ้าทำให้ไม่สามารถรับ Command Line Argument ได้
ตรงตัวครับ Command Line Argument คือ "Argument (สิ่งที่ส่งไปให้ฟังก์ชั่น) จาก Command Line"
ซึ่งการจะทำแบบนี้ อย่างแรกเลยคือ

"เราต้อง Compile โปรแกรมของเราผ่าน Command Line ให้ได้เสียก่อน"
ซึ่งผมเขียน Blog ก่อนหน้านี้ เกี่ยวกับวิธีการทำไว้แล้วครับ

http://macbaszii.blogspot.com/2012/01/command-line-compiling-cc-java-windows.html

(พวก Codeblocks หรือโปรแกรม Code Editor อื่นๆ ก็เห็นว่าทำได้นะครับ แต่ผมทำไม่เป็น :P)

ว่ากันต่อ ต่อไปเวลาเขียนโครงสร้างของโปรแกรม ก็จะเขียนในรูปแบบนี้นะครับ (C/C++ เขียนเหมือนกัน)

โดย (int)argc (Argument Count) คือ จำนวนของ Argument ที่รับเข้ามา
และ (char **)argv (Argument Value) คือ ค่าของ Argument ซึ่งจะเป็น Array ของ string (สายอักขระ)

เราเขียนโปรแกรมเพิ่มเติมนิดหน่อยนะครับ เพื่อให้เราเห็นภาพ

ถ้าคุณมีฝีมือสักนิด :P จะเกิดข้อสงสัยว่า ...
"ทำไม argc จะต้อง -1 ด้วย"
"ทำไม argv เป็น Array แล้วผมให้ for วนค่าเริ่มต้นที่ 1"
ลองหาคำตอบกันดูเองนะครับ ^______^

ส่วนวิธีที่จะใส่ Command Line Argument ก็ไม่ยากครับ
เปิด Terminal (Mac) หรือ CMD (Windows) ขึ้นมา
(ต้องตั้งค่าให้สามารถทำ Command Line Compiling ก่อนนะครับ)
จากนั้นลองพิมพ์ตามภาพเลยครับ (ใส่ Argument ไประหว่างรัน)
และแน่นอน ผมไม่ได้ให้ผลลัพธ์หลังจากที่ผมกด Enter จากภาพนี้หรอกนะครับ
มันจะเป็นการเฉลยว่า สิ่งที่ผมให้คุณ (คนอ่าน) ไปลองทำนั้น คุณได้ทำจริงหรือปล่าว ? :P

ขอจบ Blog เพียงเท่านี้แหละครับ

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

5 TED Talk ที่จะช่วยให้คุณทำงานดีขึ้น