全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5757
推到 Plurk!
推到 Facebook!

關於字串與變數的結合

答題得分者是:taishyang
yensj
一般會員


發表:16
回覆:13
積分:5
註冊:2008-09-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-07-25 23:38:00 IP:61.217.xxx.xxx 訂閱
想請教板上的大大,小弟在處理字串這邊遇到了問題,
正在寫開檔的路徑,想得到這樣的結果 :
C:\\math\\student\\123.doc
C:\\math\\student\\124.doc
C:\\math\\student\\125.doc
想把123,124,125設一個變數stu_num來代替,達到stu_num 的效果,不知道要怎麼讓字串跟變數結合再一起成為一個字串呢?
以下為小弟的程式宣告
[code cpp]
wstring wfn=L"C:\\math\\student\\ ??stu_mun ??? ".doc";
[/code]
嘗試過_itoa的方式以及 & string(stu_num) & 的方法,在麻煩板上的大大指導 感激
AndrewK
高階會員


發表:6
回覆:151
積分:161
註冊:2006-10-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-07-26 16:58:17 IP:115.43.xxx.xxx 未訂閱
給你一個 BCB 範例參考

String a;
String b;
String c;
b = "c:\\123\\";
c = "\\test.cpp";
for (int i = 123; i <= 126; i )
{
ShowMessage(b IntToStr(i) c);
}
// 利用 itoa函數 by 10進位
// char *itoa(int value, char *string, int radix);
[code cpp]
char astring[25];
for (int i = 123; i <= 126; i )
{
ShowMessage(b itoa(i, astring, 10) c);
}
[/code]
------
Just Do It
-------------------------
其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。
編輯記錄
AndrewK 重新編輯於 2009-07-26 17:43:36, 註解 無‧
AndrewK 重新編輯於 2009-07-26 17:45:44, 註解 無‧
AndrewK 重新編輯於 2009-07-26 17:50:06, 註解 無‧
AndrewK 重新編輯於 2009-07-26 17:51:39, 註解 無‧
AndrewK 重新編輯於 2009-07-26 17:57:44, 註解 無‧
yensj
一般會員


發表:16
回覆:13
積分:5
註冊:2008-09-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-07-26 20:38:39 IP:61.217.xxx.xxx 訂閱
AndrewK大大你好,小弟試過你提供的方法,出現這樣的錯誤訊息,Visual Studio 2008

錯誤 11 error C2440: '正在初始化' : 無法由 'std::basic_string<_Elem,_Traits,_Ax>' 轉換為 'std::basic_string<_Elem,_Traits,_Ax>'
小弟貼上我相關的程式碼,在麻煩您指導一下 感激

[code cpp]
int num = 123;
string a,b;
char astring[25];
a = "C:\\stu\\number\\";
b = ".doc";
wstring wfn= (a itoa(num,astring,10) b);

HANDLE hFile = ::CreateFile(wfn.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);

[/code]

===================引 用 AndrewK 文 章===================
給你一個 BCB 範例參考

String a;
String b;
String c;
b = "c:\\123\\";
c = "\\test.cpp";
for (int i = 123; i <= 126; i )
{
ShowMessage(b IntToStr(i) c);
}
// 利用 itoa函數 by 10進位
// char *itoa(int value, char *string, int radix);
[code cpp]
char astring[25];
for (int i = 123; i <= 126; i )
{
ShowMessage(b itoa(i, astring, 10) c);
}
[/code]

編輯記錄
yensj 重新編輯於 2009-07-26 20:39:45, 註解 無‧
AndrewK
高階會員


發表:6
回覆:151
積分:161
註冊:2006-10-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-07-27 04:58:59 IP:115.43.xxx.xxx 未訂閱
1.這裡是 (C++Builder) 討論區 而非 (.NET討論專區)
visual studio 2008 的問題,應發表於(.NET討論專區)
並註明 使用何種語法,如此你的問題才不會發散了
且 BCB 編譯的結果會和 VC 有不同的情況

2.你的錯誤訊息類似 型別不同、無法轉換的問題,建議你可以試試 使用相同的型別 或 強制轉型的方法試試
ex: 將 int 強制轉型為 String 的方法, (String)int_variant

3.你發表於 BCB 討論區,給你 visual c createfile 位於 msdn 的範例參考
http://msdn.microsoft.com/en-us/library/bb540534(VS.85).aspx
------
Just Do It
-------------------------
其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。
yensj
一般會員


發表:16
回覆:13
積分:5
註冊:2008-09-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-07-27 09:16:17 IP:61.217.xxx.xxx 訂閱
恩恩,小弟一直不知道要分類在哪一區塊,我是使用visual studio 2008 然後開MFC專案用C++語言寫的

一直不知道這類要歸類在哪,所以就丟在BCB討論區了,抱歉=.=

字串跟變數組合這問題,小弟再try 其他方法試試,感謝AndrewK大大熱心幫忙。

===================引 用 AndrewK 文 章===================
1.這裡是 (C Builder) 討論區 而非 (.NET討論專區)
visual studio 2008 的問題,應發表於(.NET討論專區)
並註明 使用何種語法,如此你的問題才不會發散了
且 BCB 編譯的結果會和 VC 有不同的情況

2.你的錯誤訊息類似 型別不同、無法轉換的問題,建議你可以試試 使用相同的型別 或 強制轉型的方法試試
ex: 將 int 強制轉型為 String 的方法, (String)int_variant

3.你發表於 BCB 討論區,給你 visual c createfile 位於 msdn 的範例參考
http://msdn.microsoft.com/en-us/library/bb540534(VS.85).aspx
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-07-27 09:55:16 IP:118.169.xxx.xxx 訂閱
已移區 ^_^
AndrewK
高階會員


發表:6
回覆:151
積分:161
註冊:2006-10-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-07-27 12:01:37 IP:115.43.xxx.xxx 未訂閱
站務副站長已幫忙從 【BCB 討論區】 移至 【其他程式語言討論區】
若要找此篇文章,可由【其他程式語言討論區】追加日後的想發問的問題
^ ^
------
Just Do It
-------------------------
其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。
編輯記錄
AndrewK 重新編輯於 2009-07-27 12:09:50, 註解 無‧
AndrewK 重新編輯於 2009-07-27 12:23:11, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-07-27 12:59:50 IP:118.169.xxx.xxx 訂閱
不是有sprintf可以用嗎 ^^?
yensj
一般會員


發表:16
回覆:13
積分:5
註冊:2008-09-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-07-28 01:07:53 IP:61.217.xxx.xxx 訂閱
感謝大大提醒,小弟解決問題了,並放上執行成功的程式碼供大家參考。
執行結果為 : 順利開啟此檔案 C:\\0630\\MFC0306\\MFC0306\\1.fpt
C:\\0630\\MFC0306\\MFC0306\\2.fpt
C:\\0630\\MFC0306\\MFC0306\\3.fpt

[code cpp]
char FileName[261];
int FP_name = 1;

wsprintf((LPTSTR)FileName,_T("C:\\0630\\MFC0306\\MFC0306\\%d.fpt"),FP_name);

//============================================================

HANDLE hFile = ::CreateFile((LPCWSTR)FileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);

[/code]

===================引 用 taishyang 文 章===================
不是有sprintf可以用嗎 ^^?
系統時間:2024-03-29 0:26:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!