我有一个名为 StringList 的类,由构造函数和析构函数组成。我所追求的是我的程序即使在它没有运行之后也能够将其字符串保留在数组中。我想要这样做的方法是让我的构造函数从文件中读取字符串并将它们存储到我的字符串数组(str [])中。我的析构函数会将我当前的字符串保存到我的文件中。创建内存时,我无法从文件中读取和存储。我希望每个单词都是数组中的一个元素。例如,在正在读取的文件中,字符串存储如下:
HELLO
MOM
DAD
FOUR
YELLOW
我希望每个单词都是一个槽。换句话说。str[0] = HELLO,str[1]= MOM,str[2]=DAD 等等。
这是我的构造函数:
StringList::StringList()
{
numberOfStrings=0;
str = new string[1000000];
ifstream myfile ("Read.txt");
if (myfile.is_open())
{
for (int i = 0; i < 1000000; i++)
{
getline(myfile,str[i]);
numberOfString++;
}
myfile.close();
}
}
这里的问题是 for (int i=0; i<100000;i++) 行 这样做是继续将每个空格填充到元素中,直到达到 100000。如果我输入 i<20,它会读取所有内容并添加空格以填充到 20。无论如何要填充 txt 中实际字符串的数量。文件?