【发布时间】:2014-07-23 00:33:12
【问题描述】:
如何将其转换为返回 char* 而不使用 std::string 只是想在没有 std::string 的情况下学习其他方法
string getName(DWORD Address)
{
DWORD BaseDword = ReadBaseDword(Address);
int size = ReadCharSize();
string name = "";
for (int i = 0; i < size - 1; i++)
{
char c = ReadCharArrayChar(i);
name += c;
}
return name;
}
【问题讨论】:
-
通过查看
std:string的文档。提示:.c_str()- 你可能也想使用strdup -
为什么要这样做?如果您要返回
char*,则必须分配并稍后释放内存。另外,您必须记住 C 字符串以\0空字符结尾。真的没有理由这样做。 -
ReadCharArrayChar[i]();是怎么回事? -
我不想看到没有 std::string 的其他方式。我只是一起完成了这件事,就像我正在做的事情一样 ReadCharArrayChar[i]();只是一个例子