簡體   English   中英

如何使用C將兩個整數合並為一個字符串而無需malloc?

[英]How to combine two integers into one string without malloc using C?

我想以以下格式將兩個整數組合成一個字符串: xy 我編寫了此函數,它可以完美運行,但是問題是我不想使用malloc或任何其他內存分配來執行此操作。

static char* intToTimeDate(int day,int hour){
    size_t size = 32;
    char *str = malloc ( size);
    snprintf ( str, size - 1, "%d-%02d", day, hour);

    return str;
}

僅當調用者將字符串的緩沖區傳遞給您時,才可以在不使用malloc情況下執行此操作:

static void intToTimeDate(int day, int hour, char *buf, size_t sz){
    snprintf ( buf, sz, "%d-%02d", day, hour);
}

現在,調用者可以傳遞緩沖區,並返回字符串:

char buf[32];
intToTimeDate(day, hour, buf, sizeof(buf));

暫無
暫無

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

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