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