Я создаю программу, которая читает только входной файл только текста и создает вектор слов в этом входном файле. Теперь у меня есть программа, которая запрашивает у пользователя только имя входного файла и после этого перестает работать. Мой текстовый файл содержит только три слова для теста, но к концу программы я надеюсь, что вы сможете читать большие текстовые файлы, такие как истории.
Мой код:Преобразование входного файла слов в вектор - C++
#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;
}
Вы пробовали отслеживать его? Каков ваш реальный вопрос? – JTeagle
Ваша петля ** путь ** к сложной. Вместо этого скажите 'std :: vector слова ((std :: istream_iterator (fin)), std :: istream_iterator());' и сделайте с ним. –
Ваш код не имеет смысла. Вы читаете слово, затем отбрасываете его, затем читаете другое слово, отбрасываете его, затем читаете другое слово и добавляете его в вектор чрезмерно сложным способом. Пожалуйста, подумайте, начиная с [вводной книги] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). – Philipp