簡體   English   中英

將int作為char添加到char []

[英]Adding int as a char to a char[ ]

很抱歉,如果主題名稱不是很清楚,我找不到表達它的方法。 所以說我有這個結構:

    struct filee 
    {
       ...
       int number;
       char filename[7];
    };
typedef struct filee filee;

我想用一個函數初始化它

void file_init(filee* x,int n)
{
    x->number=n;
    x->filename=(char)n+"ch.bmp"
}

但這並沒有真正起作用,所以我想要的是例如,如果我這樣做:

file_init(&randomFile,2);

它是這樣工作的:

randomFile.number=2;
randomFile.filename="2ch.bmp";

我希望我所說的清楚,並感謝您的幫助!

您需要使用snprintf()

int length;
int result;

length = sizeof(x->filename);
result = snprintf(x->filename, length, "%dch.bmp", x->number);
if ((result < 0) || (result >= length))
    error_TheTargetIsNotLargeEnough();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM