将 int 附加到 char*

发布于 2024-07-09 06:59:52 字数 30 浏览 9 评论 0原文

在 C++ 中如何将整数附加到 char* ?

How would you append an integer to a char* in c++?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

謌踐踏愛綪 2024-07-16 06:59:52

首先使用 sprintf() 将 int 转换为 char*

char integer_string[32];
int integer = 1234;

sprintf(integer_string, "%d", integer);

然后将其附加到其他 char*,请使用 strcat()

char other_string[64] = "Integer: "; // make sure you allocate enough space to append the other string

strcat(other_string, integer_string); // other_string now contains "Integer: 1234"

First convert the int to a char* using sprintf():

char integer_string[32];
int integer = 1234;

sprintf(integer_string, "%d", integer);

Then to append it to your other char*, use strcat():

char other_string[64] = "Integer: "; // make sure you allocate enough space to append the other string

strcat(other_string, integer_string); // other_string now contains "Integer: 1234"
皇甫轩 2024-07-16 06:59:52

您还可以使用字符串流。

char *theString = "Some string";
int theInt = 5;
stringstream ss;
ss << theString << theInt;

然后可以使用 ss.str(); 访问该字符串

You could also use stringstreams.

char *theString = "Some string";
int theInt = 5;
stringstream ss;
ss << theString << theInt;

The string can then be accessed using ss.str();

眼波传意 2024-07-16 06:59:52

类似于:

width = floor(log10(num))+1;
result = malloc(strlen(str)+len));
sprintf(result, "%s%*d", str, width, num);

您可以通过使用系统上整数的最大长度来简化 len 。

编辑哎呀 - 没有看到“++”。 尽管如此,它还是一个替代方案。

Something like:

width = floor(log10(num))+1;
result = malloc(strlen(str)+len));
sprintf(result, "%s%*d", str, width, num);

You could simplify len by using the maximum length for an integer on your system.

edit oops - didn't see the "++". Still, it's an alternative.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文