หน่วยที่ 8 อาร์กิวเมนต์ของ main
อาร์กิวเมนต์ คืออินพุตของฟังก์ชัน main ซึ่งต้องอยู่ในรูปแบบดังนี้ int main(int argc, char *argv[]) โดย int argc เป็นตัวนับว่าเราป้อนอินพุตเข้ามากี่ตัว และ char *argv[] เป็นแอเรย์ของสตริงที่ ที่เราป้อนที่ command line argv[0] ต้องเป็นชื่อโปรแกรม argv[1] และตัวต่อไปเป็นอินพุตของฟังก์ชัน main
หากมีโปรแกรมต่อไปนี้ในไฟล์ myprogram.cpp #include <cstdlib> using namespace std; int main(int argc, char *argv[]) { cout << "You called program " << argv[0] << " with arguments " << endl; for (int i = 1; i < argc; i++) cout << argv[i] << " "; } cout << endl; } และเราป้อนคำสั่งดังนี้บน command C:\TC\Bin\> MyProgram foo blah x จะเกิดผลลัพธ์ดังนี้ You called program myprogram with arguments foo blah x
หากมีโปรแกรมต่อไปนี้ในไฟล์ myprogram.cpp #include <cstdlib> using namespace std; int main(int argc, char *argv[]) { cout << "You called program " << argv[0] << " with arguments " << endl; for (int i = 1; i < argc; i++) cout << argv[i] << " "; } cout << endl; } และเราป้อนคำสั่งดังนี้บน command C:\TC\Bin\> MyProgram 1 2 3 4 5 6 7 a b c d จะเกิดผลลัพธ์ดังนี้ You called program myprogram with arguments 1 2 3 4 5 6 7 a b c d