Re: [問題] 請問如何開使用者的檔案

看板C_and_CPP作者 (孤獨的風)時間14年前 (2010/01/02 13:39), 編輯推噓5(5014)
留言19則, 6人參與, 最新討論串2/2 (看更多)
試者去寫 寫出... #include<stdio.h> #include<stdlib.h> int main (int count, char * argList []) { int num; FILE *fp; scanf("%d",&num); scanf("%s",&argList [num]); printf("File name is %s\n", argList [1]); fp = fopen (argList[1],"r"); system ("pause"); } 不能用> < 在請各位大大幫忙看下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.66.168.12

01/02 13:39, , 1F
compile過了,但執行會盪
01/02 13:39, 1F

01/02 14:01, , 2F
網上資料int main(int argc, char *argv[])
01/02 14:01, 2F

01/02 14:01, , 3F
難道是要用傳的傳進main函式?
01/02 14:01, 3F

01/02 14:02, , 4F
老實說不是很懂> <,可以給點提示or參考嗎?感謝
01/02 14:02, 4F

01/02 14:05, , 5F
argv/argc是在console下, 用 a.exe arg1 arg2 arg3
01/02 14:05, 5F

01/02 14:06, , 6F
這樣的型式使用的, 執行檔本身是arg0; 如果你沒有提供
01/02 14:06, 6F

01/02 14:06, , 7F
console用參數, 直接用IDE叫起程式, 因為argList[1]不
01/02 14:06, 7F

01/02 14:07, , 8F
存在, 所以有access violation是正常的; 另外, 使用
01/02 14:07, 8F

01/02 14:07, , 9F
console參數, 檢查argc(你的count)值是否符合程式的預
01/02 14:07, 9F

01/02 14:08, , 10F
期是基本工作:)
01/02 14:08, 10F

01/02 14:08, , 11F
IDE 也可以設定 command line argument
01/02 14:08, 11F

01/02 14:14, , 12F
不同IDE有不同設法就是; 我是指什麼都沒設直接就按
01/02 14:14, 12F

01/02 14:14, , 13F
[Run]之類的的case啦XD
01/02 14:14, 13F

01/02 17:25, , 14F
話說在 Windows 下將文件檔拖到執行檔上放開的話
01/02 17:25, 14F

01/02 17:25, , 15F
會把那個文件當做這執行檔的 command line arg 丟進去執行
01/02 17:25, 15F

01/02 17:25, , 16F
也就是會出現在 argv[1] 的位置
01/02 17:25, 16F

01/02 18:52, , 17F
scanf("%s", &argList[num]); 看起來怪怪的~
01/02 18:52, 17F

01/02 19:30, , 18F
樓上這個是因為原PO不清楚 main的引數的關係吧
01/02 19:30, 18F

01/04 00:01, , 19F
可是是要在unix的環境下執行
01/04 00:01, 19F
文章代碼(AID): #1BFjm96Z (C_and_CPP)
文章代碼(AID): #1BFjm96Z (C_and_CPP)