[問題] command-line argument

看板C_and_CPP (C/C++)作者 (City*Mate)時間16年前 (2010/01/20 10:53), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
開發平台: dev c++ 我的command為 "123.exe input.txt output.txt" 如果argc!=3 代表出錯了,可是我的argc一直為4 檢查argv發現 argv[0]=E:\user\123.exe <---多抓了一個command argv[1]=123.exe argv[2]=input.txt argv[3]=output.txt 正確的應該是 argv[0]=123.exe argv[1]=input.txt argv[2]=output.txt 之前似乎都正常,不知道改到了什麼就爛掉了 int main (int argc, char *argv[]) { if (argc != 3) { printf("The correct format is: ID.exe infile outfile\n"); for (int i=0;i<argc;i++) { printf("argv[%d]=%s\n",i,argv[i]); } system("pause"); exit(1); } fr=fopen(argv[1], "r"); fw=fopen(argv[2], "w"); .... } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.249.109

01/20 11:30, , 1F
第 0 個是存程式名沒錯
01/20 11:30, 1F

01/20 11:33, , 2F
他存的東西, 是你在cmd下的參數, 不是你給程式的參數
01/20 11:33, 2F

01/20 11:36, , 3F
你在命令列下的是
01/20 11:36, 3F

01/20 11:37, , 4F
E:\user\123.exe 123.exe input.txt output.txt這四個
01/20 11:37, 4F

01/20 13:47, , 5F
你在 X:\> 底下輸入三個字串,結果就是三個字串。
01/20 13:47, 5F

01/20 13:52, , 6F
除非你在程式執行後,才輸入字串,結果就是四個字串。
01/20 13:52, 6F
文章代碼(AID): #1BLd0NDA (C_and_CPP)
文章代碼(AID): #1BLd0NDA (C_and_CPP)