C中的命令列引數又叫位置引數,它可以被傳到程式裡面,派各種用途。
C裡的main()寫全了應當是:
main(int argc,char *argv[]){
..
}
argc的值等於位置引數總個數(包括程式名字)。
argv[0] 存程式名字,argv[1] 存第一個位置引數,argv[i]存第i 個位置引數,直到argv[argc-1].
例如: clip -in a.jpg -out b.jpg -x1 10 -y1 10 -x2 200 -y2 160
引數0,程式名clip
引數1,2: -in a.jpg 輸入檔名
引數3,4: -out b.jpg 輸出檔名
引數5,6: -x1 10 裁剪起點x座標
引數7,8: -y1 10 裁剪起點y座標
引數9,10:-x2 200 裁剪終點x座標
引數11,12: -y2 160 裁剪終點y座標
這些引數透過命令列傳入程式。
採用位置引數輸入方法,避免了對話輸入法。
例如,我要裁剪10張照片,我可以寫一個批檔案my.bat
檔案內容:
clip -in a1.jpg -out b1.jpg -x1 10 -y1 10 -x2 200 -y2 160
clip -in a2.jpg -out b2.jpg -x1 20 -y1 10 -x2 210 -y2 160
clip -in a3.jpg -out b3.jpg -x1 10 -y1 20 -x2 200 -y2 170
clip -in a4.jpg -out b4.jpg -x1 20 -y1 20 -x2 210 -y2 170
...
clip -in a10.jpg -out b10.jpg ...
執行my.bat,就裁剪了10張照片。不必對話輸入引數。
C中的命令列引數又叫位置引數,它可以被傳到程式裡面,派各種用途。
C裡的main()寫全了應當是:
main(int argc,char *argv[]){
..
}
argc的值等於位置引數總個數(包括程式名字)。
argv[0] 存程式名字,argv[1] 存第一個位置引數,argv[i]存第i 個位置引數,直到argv[argc-1].
例如: clip -in a.jpg -out b.jpg -x1 10 -y1 10 -x2 200 -y2 160
引數0,程式名clip
引數1,2: -in a.jpg 輸入檔名
引數3,4: -out b.jpg 輸出檔名
引數5,6: -x1 10 裁剪起點x座標
引數7,8: -y1 10 裁剪起點y座標
引數9,10:-x2 200 裁剪終點x座標
引數11,12: -y2 160 裁剪終點y座標
這些引數透過命令列傳入程式。
採用位置引數輸入方法,避免了對話輸入法。
例如,我要裁剪10張照片,我可以寫一個批檔案my.bat
檔案內容:
clip -in a1.jpg -out b1.jpg -x1 10 -y1 10 -x2 200 -y2 160
clip -in a2.jpg -out b2.jpg -x1 20 -y1 10 -x2 210 -y2 160
clip -in a3.jpg -out b3.jpg -x1 10 -y1 20 -x2 200 -y2 170
clip -in a4.jpg -out b4.jpg -x1 20 -y1 20 -x2 210 -y2 170
...
clip -in a10.jpg -out b10.jpg ...
執行my.bat,就裁剪了10張照片。不必對話輸入引數。