回覆列表
  • 1 # 使用者6680448581893

    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張照片。不必對話輸入引數。

  • 中秋節和大豐收的關聯?
  • 為什麼古代的詩詞裡的意境在現代詩裡很難感受到呢?