簡體   English   中英

將兩個整數連接成C中的char *

[英]concatenate two integers into a char * in C

現在已經忘記了我的C知識,很難搞清楚如何做到以下幾點:

int a = 5; //getting value from a function
int b = 1; //from a function

我想要的是:

char * returnstring = "5:1"; //want to return this

我嘗試了以下但它不起作用。

    char astr[5], bstr[5];
    sprintf( astr, "%d", a);
    sprintf( bstr, "%d", b);

    char finstr[100]; //final string
    strcpy(finstr, astr);
    strcpy(finstr, ":");
    strcpy(finstr, bstr);

    printf ("%s", finstr);

你可以用一個sprintf做到這一點:

char str[100];
sprintf(str, "%d:%d", a, b);

更改

strcpy(finstr,astr);
strcpy(finstr, ":");
strcpy(finstr, bstr);

strcpy(finstr,astr);
strcat(finstr, ":");
strcat(finstr, bstr);

您將在每次連續調用時覆蓋結果字符串。 您應該使用strcat連接到字符串的末尾。 雖然這可以通過單個sprintf調用輕松完成。

暫無
暫無

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

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