我想将字符串分配给字符数组
这是代码-
char *resultArray[100];
int cnt = 0;
void MySAX2Handler::startElement(const XMLCh* const uri, const XMLCh* const localname,
const XMLCh* const qname, const Attributes& attrs)
{
char* message = XMLString::transcode(localname);
resultArray[cnt] = message;
cnt++;
for (int idx = 0; idx < attrs.getLength(); idx++)
{
char* attrName = XMLString::transcode(attrs.getLocalName(idx));
char* attrValue = XMLString::transcode(attrs.getValue(idx));
resultArray[cnt] = attrName;
cnt++;
resultArray[cnt] = attrValue;
cnt++;
}
XMLString::release(&message);
}
在遍历 resultArray 之后,它打印了一些垃圾值
最佳答案
attrName
和 attrValue
都是指针,而 char
是整数类型,所以赋值运算符将简单地复制指针的值(地址),而不是内容。
循环遍历字符串或使用某些版本的 strcpy()
,或者确实是 C++ 字符串库之一。
关于c++ - 如何在 C++ 中为 char * array[] 赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768460/