เป็นไปได้ที่จะส่งค่าบางค่าจากบรรทัดคำสั่งไปยังโปรแกรม C++ ของคุณเมื่อถูกดำเนินการ ค่าเหล่านี้เรียกว่าอาร์กิวเมนต์บรรทัดคำสั่ง และหลายครั้งก็มีความสำคัญสำหรับโปรแกรมของคุณ โดยเฉพาะเมื่อคุณต้องการควบคุมโปรแกรมจากภายนอก แทนที่จะฮาร์ดโค้ดค่าเหล่านั้นภายในโค้ด
อาร์กิวเมนต์บรรทัดคำสั่งได้รับการจัดการโดยใช้อาร์กิวเมนต์ของฟังก์ชัน main() โดยที่ argc หมายถึงจำนวนอาร์กิวเมนต์ที่ส่งผ่าน และ argv[] คืออาร์เรย์พอยน์เตอร์ซึ่งชี้ไปยังอาร์กิวเมนต์แต่ละตัวที่ส่งผ่านไปยังโปรแกรม ต่อไปนี้เป็นตัวอย่างง่ายๆ ซึ่งจะตรวจสอบว่ามีข้อโต้แย้งใด ๆ ที่มาจากบรรทัดคำสั่งและดำเนินการตามนั้นหรือไม่ -
โค้ดตัวอย่าง
#include <iostream> using namespace std; int main( int argc, char *argv[] ) { if( argc == 2 ) { cout << "The argument supplied is "<< argv[1] << endl; } else if( argc > 2 ) { cout << "Too many arguments supplied." <<endl; }else { cout << "One argument expected." << endl; } }
ผลลัพธ์
$./a.out testing The argument supplied is testing
ผลลัพธ์
$./a.out testing1 testing2 Too many arguments supplied.
ผลลัพธ์
$./a.out One argument expected