【发布时间】:2017-07-22 19:27:17
【问题描述】:
我需要帮助将文本从文本文件存储到向量中。
文本文件名为“names.txt”,包含以下数据
salman
mahmoud
ahmad
ghadeer
raghad
abdullah
faisal
下面的文字是我的代码
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main ()
{
vector<string> STRING;
ifstream infile;
infile.open ("names.txt");
for(size_t i = 0; i < 7; i++)
{
getline (infile, STRING[i]);
cout << STRING[i];
}
infile.close();
return 0;
}
每次运行程序时,我都会收到以下错误消息
【问题讨论】:
-
1) 不要将变量命名为“STRING”。按照惯例,为 C/C++ macos 保留全大写名称。 2) 阅读std::vector。特别是阅读
v.push_back(line);3) 在这种情况下,您忘记了初始化大小。 *但你不应该硬编码“7”。这违背了拥有可变长度“向量”的全部目的:(!!!! -
试试
vector<string> STRING(7);