我正在创建一个只读取文本输入文件的程序,并在该输入文件中创建单词的向量。我现在的程序只提示用户输入文件名,然后停止运行。我的文本文件中只有3个单词用于测试,但是在程序结束时我希望能够读取大型文本文件,例如故事。
我的代码:
#include<string>
#include<iostream>
#include<vector>
#include<fstream>
using namespace std;
int main(){
string filename; //name of text file
string wordsFromFile; //the words gathered from the text file
cout << "Please enter the name of your text file" << endl;
cin >> filename;
ifstream fin(filename.c_str());
fin >> wordsFromFile;
while(fin >> wordsFromFile)
{
fin >> wordsFromFile;
vector<string>word;
for(int i=0; i<=word.size(); i++) {
word.push_back(wordsFromFile);
cout << word[i];}
}
fin.close();
return 0;
}
答案 0 :(得分:0)
关于你的实际问题
我现在的程序只提示用户输入文件名,然后停止运行。
由于您没有检查文件是否存在,因此无法帮助您了解发生的情况。该文件可能不在正确的文件夹中吗?您似乎没有在文件名之前使用任何路径,可能是因为您在提示符上给出完整路径?
我有一本入门书。我想在这个程序中尝试做的范围不在本书中,但
通常很少能找到一本关于你在做什么的书。但是,如果你想了解更多关于C ++的信息,我会推荐C ++ Primer Plus,这是一本非常好的书。
关于你循环,我建议你在每行的行上填写你的列表,特别是如果你打算加载故事(例如,一个故事的几个megs)。