将int和char转换为字符串

时间:2013-02-16 23:36:06

标签: c string string-formatting

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

4 个答案:

答案 0 :(得分:3)

使用sprintfsnprintf以避免在您的缓冲区总是足够大的情况下构建代码的安全性:

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);