如何将ASCII转换的int与C中的字符串连接起来

时间:2012-12-14 09:17:38

标签: c

#include "stdio.h"
#include "conio.h"
int main()
{
    char str1[]=asc(20);
    char str2[]="SpApp|";
    strcat(str1,str2);  
    printf(str1);
    getch();  
}

我想编写一个程序,首先将int转换为ASCII代码,然后将其与SpApp|连接,然后在c程序中打印这些值。

虽然printf("%c",20);也提供ASCII转换,但我没有得到如何将其保存在另一个char str1[]中,然后将其与char str2[];

连接

4 个答案:

答案 0 :(得分:1)

使用snprintf()创建一个缓冲区,其中包含一个附加了int的字符串:

char str2[32];
snprintf(str2, sizeof(str2), "SpApp|%d", 20);

答案 1 :(得分:0)

asc函数返回单个字符,而不是字符串,因此数组str1将不包含终止特殊字符'\0'

您必须正确初始化str1

char str1[] = { asc(20), '\0' };

第二个问题是目标字符串str2不够大,无法包含以开头的字符串和要添加的额外字符串它。你需要使它足够大以包含两个字符串:

char str2[16] = "...";

答案 2 :(得分:0)

尝试使用str1和str2的指针,如下所示:

char *str1 = "string1";
char *str2 = "string2";

答案 3 :(得分:0)

#include "stdio.h"

int main() {
    char a[MAX_BUFFER];
    char res[MAX_BUFFER];

    itoa(20, a, 10);
    sprintf(res, "SpApp|%s", a);
    printf("%s", res);
}