gpt4 book ai didi

C - 将变量 INT 作为 strcat 的 Char *

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:55 26 4
gpt4 key购买 nike

我正在尝试创建一个 char *,其中的 char 代表一个整数。所以到目前为止我有这个

int x;
for(x=0;x<12;x++){
cp->name=strcat(tp->name, (char *)x);
}

名字是字符*问题是 x 部分。我遇到段错误,我假设这是因为它无法访问地址 x 的内容并将其转换为 char *

有什么建议吗?

谢谢

最佳答案

通过将 x 转换为 char *,您是在告诉编译器,“我知道我在做什么。对待 x作为地址并将其传递给 strcat"

因为 x 包含 0 到 12 之间的整数,strcat 试图访问位于该数字地址的 char 数组。因为内存中的地址很可能不属于您,所以您遇到了段错误。

您需要 sprintfsnprintf 来获取整数的字符串表示形式。

例如:

int x;
for(x=0;x<12;x++){
char buffer[16];
snprintf(buffer, sizeof(buffer), "%d", x);
cp->name=strcat(tp->name, buffer);
}

关于C - 将变量 INT 作为 strcat 的 Char *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13004195/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com