在C中存储格式化数据

时间:2010-04-18 22:20:31

标签: c

我试图将变量添加到C char数组。我也试过了sprintf,但它在我的程序中引起了一些其他问题。

我希望做这样的事情:

char* age = "My age is = " + age;

我打算使用send()

将char数组发送到套接字

3 个答案:

答案 0 :(得分:3)

s(n)printf在这里真的是正确的答案。它造成了什么问题?尝试并解决这些问题,而不是扔掉正确的工具。

答案 1 :(得分:1)

如果你可以使用C ++,那么只需使用std :: string来获得这个功能......

在C下,您无法使用运算符重载执行此操作。 “strcat”允许你连接2个奇怪的。只要确保你有空间来存储结果字符串!

答案 2 :(得分:0)

使用sprintf()。记得为数组分配足够大的缓冲区。像这样:

char buf[24];
sprintf(buf, "My age is = %d", age);

24 char足够长,可以在此处包含结果,无论age的值是多少。我假设age是一个32位整数。

当然,如果将文本更改为更长的文本,则必须增加缓冲区的大小。