我有int x
和char c
。我想创建一个名为str
的新字符串为“x c”;所以int,空格和char。
例如:
x = 5, c = 'k'
//concatenate int and char with a space in between.
所以第printf("%s", str)
行会打印出来:
5 k
如何在C代码中执行此操作?
答案 0 :(得分:3)
使用sprintf
或snprintf
以避免在您的缓冲区总是足够大的情况下构建代码的安全性:
char str[100];
sprintf(str, 100, "%d %c", x, c);
但如果将str
的唯一目的用于printf
,则直接printf
:
printf("%d %c", x, c);
...只是不要使用itoa
,因为“此功能 不 在ANSI-中定义C和 不是 C ++的一部分“
这些问题也可能对您有所帮助:
How to convert an int to string in C
Converting int to string in c
答案 1 :(得分:1)
char tmp[32]={0x0};
sprintf(tmp, "%d %c", x, c);
printf("%s\n", tmp);
或
printf("%d %c\n", x, c);
答案 2 :(得分:1)
sprintf()可以做你想做的事:
sprintf(str, "%d %c", x, c);
答案 3 :(得分:1)
由于您要打印信息,因此没有理由(我可以看到)首先将数据转换为字符串。打印出来:
printf("%d %c", x, c);