我有一个文本文件,我正在逐行查看并从中获取相关信息。
但是,我似乎无法从这些行中获取适当的信息。我试图从这一行中取出一个字符并将其放入一个 const char*
一行是这样的:
"character" "B"
我正在尝试从引号内提取“B”字符。
std::string Output;
int Quotations = 0;
for (int i = 0; i < LineText.size(); ++i)
{
if ('"' == LineText[i])
{
Quotations += 1;
if (3 == Quotations)
{
Output += LineText[i + 1];
break;
}
}
}
return Output.c_str();
我很好地捕获了这条线并且还正确地计算了引号但是由于某种原因输出的结果是:
/=�UL��'F/�$/U�
而不是:
B
有什么地方出错了吗?
提前致谢。
最佳答案
你返回一个指向本地数据的指针。函数返回后,Output
字符串超出范围,然后指针无效。
为什么不返回一个 std::string
呢?
关于c++ - 如何从一行中提取单个字符并将其放入 const char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33854241/