匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 6 年前

Int 轉 const char* filename

一開始架構:

fot (int i=0;i<10;i++)

{

const char* filename;

filename = i ;

}

有用 *itoa 或者 itoa 都無法轉成功

已更新項目:

1. What you want to do?

const char *filename = (char*)i;

沒錯 ~ 是可以用 ~ 但是我用

const char *filename = (char*)i+".tif";

就會出現兩個指標無法相加 ~ 不好意思可以在請教你嗎?

2. How you use itoa? or maybe what you need is atoi.

我看atoi好像是把整數換成字串 ~ 然後看itoa好像是數字轉字串

因為我是用Visual studio

2 個已更新項目:

謝了用第一個方法就可以了

2跟3都不行

http://forum.codecall.net/topic/72734-how-to-use-s...

來回答吧 ~ 要結案了

太感謝您了

3 個已更新項目:

喔~我要用來跑迴圈

存檔案名稱

例如:

for(int i=0;i

4 個已更新項目:

i < object ; i++)

{

save(檔案名稱)

}

真正的部分的程式碼

char buff[50]; // buff is large enough to hold the entire formatted string

sprintf(buff, "%d.tif", A);

cvSaveImage(buff,img,0);

因為在寫OPENCV玩的說

1 個解答

評分
  • 卸貨
    Lv 5
    6 年前
    最佳解答

    1. What you want to do?

    const char *filename = (char*)i;

    printf("filename=%d", filename);

    2. How you use itoa? or maybe what you need is atoi.

    2014-11-25 20:55:51 補充:

    Sorry to use english, my input have some problem.

    1. itoa, convert integer to string. But do not use this function because it is non-standard, and you should use snprintf instead.

    2. atoi, convert string TO integer.

    3. The problem can be done by:

    const char *filename = i+".tif";

    2014-11-25 20:57:04 補充:

    But the most important is what you want this program to do?

    2014-11-26 13:07:44 補充:

    其實沒什麼好說的,大部分的解答都在意見裡了。

    為了應版主的邀請,我就補充一下 snprintf 的用法來當作回答好了:

    int snprintf ( char * s, size_t n, const char * format, ... );

    example:

    char filename[50];

    snprintf(filename, sizeof(filename), "%d.tif", i);

    2014-11-26 13:08:18 補充:

    int snprintf(char *s, size_t n, const char *format, ...);

還有問題?馬上發問,尋求解答。