[英]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.