我有 intx
和 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 代码中执行此操作?
我有 intx
和 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 代码中执行此操作?
在假设缓冲区总是足够大的情况下使用sprintf
或避免构建代码的安全性:snprintf
char str[100];
sprintf(str, 100, "%d %c", x, c);
但是,如果 will 的唯一目的是str
将其用于 with 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
char tmp[32]={0x0};
sprintf(tmp, "%d %c", x, c);
printf("%s\n", tmp);
或者
printf("%d %c\n", x, c);
sprintf() 可以做你想做的事:
sprintf(str, "%d %c", x, c);
由于您想将信息打印出来,因此(我可以看到)没有理由首先将数据转换为字符串。只需打印出来:
printf("%d %c", x, c);