0

我有 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 代码中执行此操作?

4

4 回答 4

3

在假设缓冲区总是足够大的情况下使用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

于 2013-02-16T23:40:01.923 回答
1
char tmp[32]={0x0};
sprintf(tmp, "%d %c", x, c);
printf("%s\n", tmp);

或者

printf("%d %c\n", x, c);
于 2013-02-16T23:39:40.970 回答
1

sprintf() 可以做你想做的事:

sprintf(str, "%d %c", x, c);
于 2013-02-16T23:40:09.810 回答
1

由于您想将信息打印出来,因此(我可以看到)没有理由首先将数据转换为字符串。只需打印出来:

printf("%d %c", x, c);
于 2013-02-16T23:41:02.857 回答