討論區快速選單
知識庫快速選單
討論區最近新進100則主題 下載Alexa Toolbar讓你上網更有趣
[ 回上頁 ] [ 討論區發言規則 ]
如何建立編號的路徑 檔名CString ?
更改我的閱讀文章字型大小
作者 : qwerpon(大國民) 人氣指數超過10000點
[ 貼文 27 | 人氣 10815 | 評價 0 | 評價/貼文 0 | 送出評價 11 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/23 下午 09:41:45
請問各位高手


我用CFileDialog 的存檔畫面, 設定了路徑檔名與副檔名(固定bmp)的CString, 像是 "c:\path\name.bmp"

查資料後,
可以用GetPathName( ) 取得 "c:\path\name.bmp"
和 GetFileTitle()取得 "name"

之後, 我要如何將一斜槓變成兩斜槓, 並用迴圈建立編號的CString檔名呢?

"c:\\path\\name1.bmp"
"c:\\path\\name2.bmp"
"c:\\path\\name3.bmp"
.....
.....
.....
"c:\\path\\name11.bmp"
"c:\\path\\name12.bmp"

感謝感謝....^^
===================================
目前code:
    CString FileName;
    CString PathFile;
CFile file;
CFileDialog dlg(false,NULL,"*.bmp");
if(dlg.DoModal()==IDOK)
    {
     PathFile=dlg.GetPathName();
     FileName=dlg.GetFileTitle();
    {
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++曠世奇才新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4712 | 人氣 9172 | 評價 31020 | 評價/貼文 6.58 | 送出評價 138 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qwerpon註記此篇回應為很有道理 2007/6/23 下午 11:40:42
>我要如何將一斜槓變成兩斜槓,

你可以直接的用 GetPathName() 傳回來的資料, 不需要把 single backslash 變成 double backslash.

double backslash 是 C 及 C++ 語言的 escape sequence, 只是寫在原始碼裡給編譯器看的. 在編譯的時候, 編譯器會把 '\\' 變成 '\'. 程式裡面看到的只有 '\'.


>並用迴圈建立編號的CString檔名呢?

不明白的的意思. 請用個例子來說明.

作者 : qwerpon(大國民) 人氣指數超過10000點
[ 貼文 27 | 人氣 10815 | 評價 0 | 評價/貼文 0 | 送出評價 11 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/24 下午 01:09:12
真是抱歉, 講沒清楚

路徑字串會在原始碼裡傳給存檔的function, function只認得double backslash
例如這樣:

    CString Path = "c:\folder\"
    CString FileName = "Name";
    CString BmpStr = ".bmp";

   CString TotalPathName;

for(i=0;i<15;i++)
{

TotalPathName = 合併 Path + FileName + 變數 i + BmpStr ;
// 也就是 "c:\folder\" + "Name"; + 變數 i + ".bmp";

把Single backslash 變成 double backslash();

存檔到TotalPathName();

}

在 i = 1 時, TotalPathName = ""c:\folder\Name1.bmp"
在 i = 2 時, TotalPathName = ""c:\folder\Name2.bmp"
.....
在 i = 12 時, TotalPathName = ""c:\folder\Name12.bmp"
.....

感恩感恩......^^



作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2625 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qwerpon註記此篇回應為很有道理 2007/6/24 下午 01:30:36
int i;
char temp[512];
for(i=0;i<15;i++)
{
sprintf(temp,"%s%s.bmp",Path,FileName);
TotalPathName=temp;
}




int i;

for(i=0;i<15;i++)
{
TotalPathName.Format("%s%s.bmp",Path,FileName);
}
作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2625 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qwerpon註記此篇回應為很有道理 2007/6/24 下午 07:22:11
忘記把主角寫進去wwww

int i;
char temp[512];
for(i=0;i<15;i++)
{
sprintf(temp,'%s%s%d.bmp',Path,FileName,i);
TotalPathName=temp;
}

int i;

for(i=0;i<15;i++)
{
TotalPathName.Format('%s%s%d.bmp',Path,FileName,i);
}
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++曠世奇才新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4712 | 人氣 9172 | 評價 31020 | 評價/貼文 6.58 | 送出評價 138 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qwerpon註記此篇回應為很有道理 2007/6/24 下午 10:31:37
>TotalPathName = 合併 Path + FileName + 變數 i + BmpStr ;
>// 也就是 "c:\folder\" + "Name"; + 變數 i + ".bmp";

用 CString 的 Format() 成員.

  for (int i = 0; i < 15; ++i)
  {
    TotalPathName.Format("%s%s%d%s", Path, FileName, i, BmpStr);
  }


>路徑字串會在原始碼裡傳給存檔的function, function只認得double backslash

CString 有 Replace() 成員, 但我還是認為沒有轉換成 double backslash 的必要. 你是用什麼函式? 你從那裡的資料認為函式只認得 double backslash?

作者 : qwerpon(大國民) 人氣指數超過10000點
[ 貼文 27 | 人氣 10815 | 評價 0 | 評價/貼文 0 | 送出評價 11 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/25 上午 10:57:33
您好, 感謝您巨細靡遺的討論....^^

我在用file.Open的時候, 如果用 single backslash可以compile過, 也可以做出執行檔

但是, 執行存檔會出現error MessageBox,

第一 個error Message Box
Debug Assertion Failed!
Program:...........
File:filecore.cpp
Line: 238
for information how your program can cause a assertion failture,
See the visual C++ documentation on assert.
(Press retry to debug the application)

第二個:
應用程式發生例外 unknown software exceptin(0x8000000003)於位置0x7c921230
請按確定終止程式

反之, 如果用souble backslash就可以正常執行....

我也不知道切確的原因說...........






作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2625 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qwerpon註記此篇回應為很有道理 2007/6/25 上午 11:48:08
你打的時候是雙斜線
事實上是單斜線
因為斜線是逃脫字元..(我也不知道為什麼要翻成這麼難懂的詞
白話來說就是 控制碼的前導碼
compile遇到斜線會自動把下個一個字元當作控制碼
原因是字串處理定義出許多不可視的控制碼...需要有一個輸入方法
如 "\n" 就是轉換成換行.. "\t" 是 tab

字串中的斜線都會被當成前導碼看待
所以就定義出兩次斜線 等於單斜線 "\\" = "\"

雖然人類觀感是雙斜線..對電腦來說他是不折不扣的單斜線字元
所以我們在打路徑的時候
char path[]= "c:\\path\\some.txt";
經過compile電腦看到是
char path[]= "c:\path\some.txt";

我們輸入 "c:\path\some.txt"
電腦看到是 "c:athome.txt"
程式如果沒做error 判斷自然就當掉了

不過如果是從外部的文字檔讀入設定路徑就不用雙斜線
etc:

game.ini

[datapath]
path=d:\game\data\





作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++曠世奇才新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4712 | 人氣 9172 | 評價 31020 | 評價/貼文 6.58 | 送出評價 138 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qwerpon註記此篇回應為最佳解答 2007/6/25 下午 09:23:53
先看看這個:
  http://en.wikipedia.org/wiki/Escape_character

Backslash, 是 C 及 C++ 語言的 escape character, 讓程式員在寫原始碼時, 可以輸入一些不容易輸入, 無法輸入, 或跟語法有衝突的字元.

比方說我們要在字串裡用 tab 這個字元, 在 C 及 C++ 語言裡, tab 就用 \t 來代表:

  char ch[] = "123\t456";

編譯器看到 \t, 就會用目標系統的 tab 的代碼來取代它. 如目標系統是 ASCII, 就 \t 就變成 0x09 這個數值; 如目標系統是 EBCDIC, 編譯器就用 0x05.

上面那行在 ASCII 系統編譯後的內容就是:

   ch
  +======+
  | 0x31 | ASCII 的 '1'
  |------|
  | 0x32 | ASCII 的 '2'
  |------|
  | 0x33 | ASCII 的 '3'
  |------|
  | 0x09 | ASCII 的 horizontal tab
  |------|
  | 0x34 | ASCII 的 '4'
  |------|
  | 0x35 | ASCII 的 '5'
  |------|
  | 0x36 | ASCII 的 '6'
  |------|
  | 0x00 | 終結字元
  +======+

C 及 C++ 語言的 escape sequence:

  http://msdn2.microsoft.com/en-us/library/ms860944.aspx


另一個例子, 比方我們要在字串內用 double quote (") 這個字元: 像這個輸出:

  Tom said "Hi".

因為 double quote 本身已經在 C 及 C++ 的語法裡用來圈住 string literal 用了, 所以我們要告訴編譯器, 這個 double quote 是字串之一, 不要把它當作是語法的一部份.

  char ch[] = "Tom said \"Hi\"."

如果沒有 escape:

  char ch[] = "Tom said "Hi"."

編譯器會把 'H' 之前的 double quote 跟 'T' 之前的第一個 double quote 「配」在一起. 然後 '.' 之前跟之後的 double quote 又會「配」在一起, 變成前面的 "Tom said " 是一個字串, 最後的 "." 又是一個字串, 而中間的 『Hi』 編譯器就不知道應該如何對待, 造成語法上的錯誤.

所以我們要把字串裡的 double quote "escape" 掉. "Escape" 的意義就在這裡: Backslash "escape" the normal meaning of the character(s) that follows it.

因為 backslash 本身已經是個 escape character, 所以要在字串裡面用這個字元, 像:

  c:\dir\

所以我們也要把 backslash 原本的意義 escape 掉:

  char ch[] = "c:\\dir\\";

   ch
  +======+
  | 0x63 | ASCII 的 'c'
  |------|
  | 0x3A | ASCII 的 ':'
  |------|
  | 0x5C | ASCII 的 '\'
  |------|
  | 0x64 | ASCII 的 'd'
  |------|
  | 0x69 | ASCII 的 'i'
  |------|
  | 0x72 | ASCII 的 'r'
  |------|
  | 0x5C | ASCII 的 '\'
  |------|
  | 0x00 | 終結字元
  +======+

這也就是為什麼你要在語法上用 \\ 的原因.

也就是我最開始的回覆: \\ 是『寫在原始碼裡給編譯器看的』.

作者 : qwerpon(大國民) 人氣指數超過10000點
[ 貼文 27 | 人氣 10815 | 評價 0 | 評價/貼文 0 | 送出評價 11 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/26 下午 05:02:48
感謝大家不吝惜的教導, 受益良多.....^^

這是現在的code:

// TODO: Add your control notification handler code here
CString OrgPathName;
CString TotalPathName;
CFile file;

//開dialog設定路徑檔名
CFileDialog dlg(false,NULL,"*.bmp");
if(dlg.DoModal()==IDOK)
{
     OrgPathName=dlg.GetPathName();
}

//轉換CString為TCHAR
LPTSTR charPathName = new TCHAR[OrgPathName.GetLength()+1];
_tcscpy(charPathName, OrgPathName);


//切割路徑 檔名 副檔名
char BmpDrive[10];
char BmpDir[256];
char BmpFName[256];
char BmpExt[256];
_splitpath(charPathName, BmpDrive, BmpDir, BmpFName, BmpExt);

int i;
for(i=0;i<15;i++)
{
//加上編號
TotalPathName.Format("%s%s%s%d%s", BmpDrive, BmpDir,BmpFName , i, BmpExt);
//取代為double backslash
int n = TotalPathName.Replace("\\", "\\\\");
}


再次感激各位前輩們的教導...Orz


作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++曠世奇才新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4712 | 人氣 9172 | 評價 31020 | 評價/貼文 6.58 | 送出評價 138 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/26 下午 08:34:52
>這是現在的code:
>
>// TODO: Add your control notification handler code here
>CString OrgPathName;
>CString TotalPathName;
>CFile file;
>
>//開dialog設定路徑檔名
>CFileDialog dlg(false,NULL,"*.bmp");
>if(dlg.DoModal()==IDOK)
>{
> OrgPathName=dlg.GetPathName();
>}

邏輯錯誤: 底下的程式碼應該放在上面的 if () 的主體裡.


>//轉換CString為TCHAR
>LPTSTR charPathName = new TCHAR[OrgPathName.GetLength()+1];
>_tcscpy(charPathName, OrgPathName);

完全沒有轉換的必要.

>//切割路徑 檔名 副檔名
>char BmpDrive[10];
>char BmpDir[256];
>char BmpFName[256];
>char BmpExt[256];

兩點:
  1. 應該用 Tchar 或 _Tchar 類型.
  2. 不要用 10, 256 這樣的魔術數字, 用編譯器提供的全域符號.

  _Tchar BmpDrive[_MAX_DRIVE];
  _Tchar BmbDir[_MAX_DIR];
  _Tchar BmpFName[_MAX_FNAME];
  _Tchar BmpExt[_MAX_EXT];

>_splitpath(charPathName, BmpDrive, BmpDir, BmpFName, BmpExt);

兩點:
  1. 用 _tsplitpath().
  2. 可以直接用 OrgPathName.

  _tsplitpath(OrgPathName, BmpDrive, BmpDir, BmpFName, BmpExt);

>
>int i;
>for(i=0;i<15;i++)
>{
> //加上編號
> TotalPathName.Format("%s%s%s%d%s", BmpDrive, BmpDir,BmpFName , i, BmpExt);
> //取代為double backslash
> int n = TotalPathName.Replace("\\", "\\\\");

請問為什麼你還是堅持要用 double backslash?

把 TotalPathName 的內容印出來, 看你是不是能用這樣的 path?


>}

作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++曠世奇才新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4712 | 人氣 9172 | 評價 31020 | 評價/貼文 6.58 | 送出評價 138 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/26 下午 08:41:33
>  1. 應該用 Tchar 或 _Tchar 類型.

上面的類型應該是全部大寫: TCHAR 或 _TCHAR.

本討論區的特徵: 把看起來像是 C 關鍵字的字在顯示時用小寫加變色.

(請站主有空看看這個問題)

作者 : qwerpon(大國民) 人氣指數超過10000點
[ 貼文 27 | 人氣 10815 | 評價 0 | 評價/貼文 0 | 送出評價 11 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/28 上午 01:41:54
多謝指教....^^
>>這是現在的code:
>>
>>// TODO: Add your control notification handler code here
>>CString OrgPathName;
>>CString TotalPathName;
>>CFile file;
>>
>>//開dialog設定路徑檔名
>>CFileDialog dlg(false,NULL,'*.bmp');
>>if(dlg.DoModal()==IDOK)
>>{
>> OrgPathName=dlg.GetPathName();
>>}
>
>邏輯錯誤: 底下的程式碼應該放在上面的 if () 的主體裡.
我了解你的意思了....^^


>
>
>>//轉換CString為TCHAR
>>LPTSTR charPathName = new TCHAR[OrgPathName.GetLength()+1];
>>_tcscpy(charPathName, OrgPathName);
>
>完全沒有轉換的必要.
了解了解...^^
>
>>//切割路徑 檔名 副檔名
>>char BmpDrive[10];
>>char BmpDir[256];
>>char BmpFName[256];
>>char BmpExt[256];
>
>兩點:
>  1. 應該用 Tchar 或 _Tchar 類型.
>  2. 不要用 10, 256 這樣的魔術數字, 用編譯器提供的全域符號.
請問char和TCHAR的差別是?
魔術數字?全域符號?您的意思是?
>
>  _Tchar BmpDrive[_MAX_DRIVE];
>  _Tchar BmbDir[_MAX_DIR];
>  _Tchar BmpFName[_MAX_FNAME];
>  _Tchar BmpExt[_MAX_EXT];
>
>>_splitpath(charPathName, BmpDrive, BmpDir, BmpFName, BmpExt);
>
>兩點:
>  1. 用 _tsplitpath().
>  2. 可以直接用 OrgPathName.
>
>  _tsplitpath(OrgPathName, BmpDrive, BmpDir, BmpFName, BmpExt);
>
>>
>>int i;
>>for(i=0;i<15;i++)
>>{
>> //加上編號
>> TotalPathName.Format('%s%s%s%d%s', BmpDrive, BmpDir,BmpFName , i, BmpExt);
>> //取代為double backslash
>> int n = TotalPathName.Replace('\\', '\\\\');
>
>請問為什麼你還是堅持要用 double backslash?
>
>把 TotalPathName 的內容印出來, 看你是不是能用這樣的 path?
嗯...這邊是try的結果說,不知道為什麼, double backslash就不會出現錯誤...


 debug模式下, TotalPathName會長的這樣...

TotalPathName = "c:\\path\\name1.bmp";
丟到存圖檔程式裡面後, 已經可以執行了, 我存了500張圖, 1.9G, 把硬碟塞報了...Orz....

但是不知道為什麼, 如果 TotalPathName = "c:\path\name1.bmp";

可以compile, 但是執行存檔時會出現之前提的錯誤...

而且感覺上, 錯誤訊息也和 single backslash沒關連.....百思不得其解啊...

PS:請問要怎麼樣才可以變的像你這麼強啊?


>
>
>>}
>
>
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++曠世奇才新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4712 | 人氣 9172 | 評價 31020 | 評價/貼文 6.58 | 送出評價 138 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/28 上午 03:56:58
>請問char和TCHAR的差別是?

看這裡的教學文章:

  http://www.programmer-club.com/pc2020v5/forum/ShowSameTitleN.asp?URL=N&board_pc2020=vcdotnet&id=2115


>魔術數字?全域符號?您的意思是?

除了 0 以外, 任何一個直接在程式裡用的數字都是魔術數字:

  http://en.wikipedia.org/wiki/Magic_number_%28programming%29

比方說, 你要寫一個程式, 需要一個大小為 10 的陣列. 你直接把 10 用在程式裡:

  int Ary[10];
  ...
  for (int n = 0; n < 10; ++n)
  {
    Ary[n] = ...;
  }

  ...
  for (int n = 0; n < 10; ++n)
  {
    ...
  }

三個月後, 原本程式的需要有個更動, 現在陣列的大小需要提高到 20. 你是不是要去專案裡所有的原始碼檔把所有有關的 10 改成 20.

但你還不能就隨便做個 global search and replace, 因為並不是每個 10 都是跟那個陣列的大小有關的, 你還得進去程式碼裡研究那些 10 是需要改的. 比方說例子裡第二個 for() 的 10 可能就跟 Ary 的大小沒有個關係, 但是你不仔細重新研究你是不會知道的.

隔了三個月後, 你對原來寫的程式碼還記得多少? 你能 100% 確定你不會犯錯嗎?

在程式裡使用魔術數字就會造成這樣的問題.

解決方法: C 用 #define. C++ 也可以用 #define, 但第一選擇是 const 變數.

以上面的例子來說:

  #define ARY_SIZE 10

  int Ary[ARY_SIZE];
  ...
  for (int n = 0; n < ARY_SIZE; ++n)
  {
    Ary[n] = ...;
  }

如果第二個 for 的 10 不是 ARY_SiZE, 同樣的也定義另一個符號.

整個程式就圍繞著 ARY_SIZE 及其它的符號來做. 這樣, 如果日後需要更改 Ary 的大小, 你只需要更改一個地方, 重新編譯.

例子裡的 ARY_SIZE 就是一個全域符號. 跟 _MAX_DRIVE, _MAX_DIR, 等一樣, 都是全域符號.

用 _MAX_DRIVE 等符號有個好處, 就是它們是編譯器根據目標系統的規格設定的, 你不用去猜你需要多少, 用就對了.


>嗯...這邊是try的結果說,不知道為什麼, double backslash就不會出現錯誤...

我從來沒有需要在 CFileDialog 後還要轉換成 double backslash 的.


> debug模式下, TotalPathName會長的這樣...
>
>TotalPathName = "c:\\path\\name1.bmp";

如果是寫在程式裡面, 那就需要 4 個 backslash:

  char s[_MAX_PATH] = "c:\\\\path\\\\name1.bmp";
  FILE *fp = fopen(s, "w");

其實我對它會 work 相當的驚訝, 但 fopen() 到最後就是呼叫系統的 CreateFile() API, 所以我想是該 API 會 work 的關係.

實際上, 你用 forward slash 也可以的. 我認為 forward slash 會更好. 至少你不用管 escape character 的問題.

  char s[_MAX_PATH] = "c:/path/file.txt";
  FILE *fp = fopen(s, "w");


作者 : hoshino(p8357241)
[ 貼文 12 | 人氣 2012 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/7/16 下午 11:51:35
這個問題我是用
wsprintf 來解
for 迴圈 i
讀成 %d
他會存成字串
 板主 : simula
 > C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C++
1 Raymond 12510 
2 simula 4690 
3 青衫 4640 
4 coco 3850 
5 白老鼠(Gary) 3610 
6 Ben 2250 
7 Anderson 1960 
8 ozzy 1790 
9 windblown 1650 
10 Kenny 1540 
C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
0.46875