看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Win XP Win 7 x64 Code::Blocks + MinGW 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) NO 問題(Question): 我設計一個程式 類似 batch 的功能 執行一些指令 (其他程式的指令) 但是我需要改變目前的路徑 至 引數的位置 例如我拖一個檔案(在 D:\User) 進來 然後接下來的步驟、過程都寫在 D:\User 直到程式結束都不改變 Win7 跑很順 不用加什麼 chdir 就可以跑了 但是 XP 會找不到路徑 所以參考Google到結果 要加 chdir 這個指令 ( #include<unistd.h> ) 才能順利運行 (但是還是怪怪的,每次使用前都要加,不然還是無效) 餵入的資料(Input): 拖曳 abc123.v 至 auto_iverilog.exe程式上 也就是 argv[1] = "C:\xxxxx\zzzzz\abc123.v" 預期的正確結果(Expected Output): 只要能夠順利定位 結果都正確 錯誤結果(Wrong Output): 找不到指定檔案 (路徑不正確) 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/mCiiHy6p 補充說明(Supplement): 其中 iverilog , vvp , gtkwave 都有加入系統環境變數 其程式如下: http://bleyer.org/icarus/ 非常感謝各位的幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.221.54
angleevil:#include<unistd.h><--這個是linux的東西.你可能要研究 12/02 09:22
angleevil:一下#include <windows.h>比較好. 簡單講是你要找到一個 12/02 09:23
angleevil:函式幫你完成修改檔案路徑. 12/02 09:24
angleevil:還有大家為什麼要知道你編譯器的下載網址? 12/02 09:27
angleevil:上面那句是搞錯了.可以忽略 12/02 09:28
purincess:看原文他已經有成功改路徑啦 只是他不知道為什麼每次都 12/02 18:22
purincess:要改 12/02 18:22
angleevil:其實我的建議是希望原po使用windows的lib來做 12/02 21:09
angleevil:畢竟他是在win的平台撰寫程式.使用unix的函式也是可以 12/02 21:09
angleevil:但是換到vs時,他大概會想打人吧 12/02 21:10
tropical72:拖進去的預設路徑大概會是 C:\Documents and Settings 12/02 21:13
tropical72:\User 之類的吧. 12/02 21:13
angleevil:我覺得t大的答案是對的,可能理由是你在win7跑時,檔案 12/02 21:27
angleevil:在執行檔所在的目錄目錄下實行,因此才可以成功. 12/02 21:28
謝謝各位解答 那我再去看看 windows.h ※ 編輯: cory8249 來自: 140.114.221.54 (12/02 22:10)