Re: [問題] BCB中ShellExecute的問題
※ 引述《Tsaochimai.bbs@ptt.cc (這下糗了.....)》之銘言:
> 我在BCB中要使用ShellExecute...發現了一個檔案路徑的問題...
> 這是我的執行方式.....
> ShellExecute(NULL, "open", "exec.exe", 參數, NULL, SW_SHOW);
> 其中1.exe這個執行檔後面會需要一些參數...這個參數是檔案路徑....
> 可能是C:\temp.txt, 這個exec.exe會打開temp.txt並且加入一些東西產生成
<略>
路徑名的反斜'\' 問題. C 語言一定要注意這點.
只要你發現執行結果奇怪, 而相關參數有檔案名稱
( 以正斜[Unix]或反斜[MS Windows]作子目錄分隔), 你就要考慮C 語言脫逸
符號反斜的影響. 試著將單反斜加倍: C:\\temp.txt 或 C:\\SubDir\\temp.txt
每個反斜都要.
另外, 如果是網路名稱路徑, 如: \\Server\Path\temp.txt
就要改成 \\\\Server\\Path\\temp.txt ( 前面雙反斜變成可怕的4 反斜 ).
以前Unix發展C 語言時, 沒有這問題. 因為設計時都搭配系統特性 (Unix用正斜
'/' 當路徑分隔). 直到C 語言搬到DOS 下, 才出現這專家常識性的問題.
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw>
◆ From: tommy @61.229.175.32
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):