我创建了一个固定的长度字符串:
string fileRows[900];
但有时我需要超过900,有时它足够500.
然后我需要用文件行填充数组:
...
string sIn;
int i = 1;
ifstream infile;
infile.open(szFileName);
infile.seekg(0,ios::beg);
while ( getline(infile,sIn ) ) // 0. elembe kiterjesztés
{
fileRows[i] = sIn;
i++;
}
如何为此阵列创建动态长度?
答案 0 :(得分:2)
使用std::vector,vector称为动态数组:
#include <vector>
#include <string>
std::vector<std::string> fileRows(900);
实际上你可以保留元素的空间并调用push_back
:
std::vector<std::string> fileRows;
fileRows.reserve(900);
while (std::getline(infile, sIn))
{
fileRows.push_back(sIn);
}