gpt4 book ai didi

c - 赋值后访问 char* C

转载 作者:行者123 更新时间:2023-12-04 12:21:45 26 4
gpt4 key购买 nike

我已经为一个成员变量赋值如下:

myValue = (char*)malloc(strlen(inValue) * sizeof(char));

strcpy(mValue, inValue);

在给它赋值时是正确的(以 printf 输出):

http://www.w3.org/2001/XMLSchema

但是,当我在 wards 之后得到它的值时,我得到它是:

http://www.w3.org/2001/XMLSchema(!

这个问题可能是什么问题

最佳答案

strlen() 返回直到但不包括终止 NUL,因此您需要在 malloc() 中将其返回值加 1。 myValue 因此最终未终止。

myValue = malloc((strlen(inValue) + 1) * sizeof(char));

关于c - 赋值后访问 char* C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943785/

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