#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[];
答案 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);
}