【发布时间】:2012-05-11 15:32:35
【问题描述】:
我有一个文本文件,其中只包含带有如下消息的行:
你好
你好
现在我得到了这个函数,它读取这些行并返回一个包含它们的数组。
string* printlines(string filename)
{
string line;
int sum = 2;
int i =0;
string *quotes;
ifstream infile(filename.c_str());
quotes= new string[2];
if (infile.is_open())
{
while (infile.good())
{
getline (infile,line);
quotes[i] = line; // <--- here's the problem
i++;
}
}
infile.close();
return quotes;
}
gdb 报告粗体行有问题,但我没有看到。
【问题讨论】:
-
很少需要一个函数来返回指向动态创建的字符串对象的指针。只需按值返回字符串。
-
同样在使用星号作为指针解引用和乘法的语言中,尝试使用星号星号语法加粗一行是不好的。
标签: c++ string segmentation-fault assign