作者:jny2272191 | 来源:互联网 | 2022-11-24 17:26
我试图从文件到向量获得大约3百万个字符串.我像这样分配了它
vector *slownikds = new vector;
当我尝试从这样的文件中推回时:
string *line;
while (getline(slownik, *line))
{
*slownikds->push_back(*line);
}
它不起作用.如何从文件"slownik"中推回字符串?
1> smac89..:
请停止这个.
std::vector
已创建,因此您不必自己为容器分配内存.std::string
是这样你不必使用char *
或使用固定大小的缓冲区.
请修理:
std::vector slownikds;
std::string line;
while (getline(slownik, line)) {
slownikds.push_back(line);
}
您收到"错误"的原因可能是以下三种情况之一:
你没有初始化你的*line
,所以它指向未初始化的内存或可能NULL
您正尝试push_back
通过指针成员访问运算符访问成员函数
foobar的东西
无论如何,不是像我上面那样使用指针就是答案