線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1941
推到 Plurk!
推到 Facebook!

[問題]關於檔案路徑

答題得分者是:supman
zx4654
一般會員


發表:18
回覆:26
積分:8
註冊:2005-04-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-26 19:34:52 IP:210.61.xxx.xxx 未訂閱
在BCB裡fopen所指定的資料夾路徑是XX\\XX\\XX\\,那一般讀入的字串,為XX\XX\XX\.那麼我想做一個指定瀏覽資料夾的程式,來指定我要儲存的檔案.在VCL裡多半為AnsiString那Text所讀到的也是XX\XX\XX\的檔案路徑.我應該如何做能將讀入的XX\XX\XX\改為XX\\XX\\XX\\給fopen,請各位指教!!
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-26 20:52:17 IP:211.22.xxx.xxx 未訂閱
AnsiString裡面有個方法叫做c_str(),可以轉換為C語言的字串格式.
 AnsiString TestString = "12345";
 char Temp[1024];     strcpy(Temp,TestString.c_str());
------------------- 學,然後知不足。
zx4654
一般會員


發表:18
回覆:26
積分:8
註冊:2005-04-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-26 21:10:37 IP:210.61.xxx.xxx 未訂閱
引言: AnsiString裡面有個方法叫做c_str(),可以轉換為C語言的字串格式.
 AnsiString TestString = "12345";
 char Temp[1024];     strcpy(Temp,TestString.c_str());
------------------- 學,然後知不足。
我知道,可是我的問題在於一般檔案路徑都只有"\",但是fopen需要"\\"那我要如何除處理成fopen所符合的字串.
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-26 21:40:20 IP:219.68.xxx.xxx 未訂閱
如果您是指由檔案去讀入路徑的話並不需要額外處理,編譯器會自動幫你處理,需要自己手動去加雙斜線是您直接去指定路徑的值才需要。 如: FilePath="c:\\a.txt";//要自己加雙斜線 fgets(FilePath,sizeof(FilePathS),fp)//不需要自己加
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-26 22:02:10 IP:211.22.xxx.xxx 未訂閱
如果你還記得"\"符號是C語言的脫序字元的話,那麼你在自訂的字串常數時一定要用雙倒斜線,否則C COMPILER會認為你在使用脫序字元. 例如: const OutputPath ="C:\\Temp"; 另外,如果是變數中含有倒斜線的話,那麼COMPILER會認定那是一般字元,會自動幫你加上另一個倒斜線,把下面的例子用debuger觀察一下變數edit1.txt的內容就分曉了.
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
 FILE *fp;     if ( OpenDialog1->Execute() )
 {
//  fp = fopen(OpenDialog1->FileName.c_str(), "rb" );
  fp = fopen(Edit1->Text.c_str(), "rb" );
  fclose(fp);
 }
}
------------------- 學,然後知不足。
系統時間:2024-06-20 3:33:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!