2012-03-12 1 views
-2

Я создаю программу, которая читает только входной файл только текста и создает вектор слов в этом входном файле. Теперь у меня есть программа, которая запрашивает у пользователя только имя входного файла и после этого перестает работать. Мой текстовый файл содержит только три слова для теста, но к концу программы я надеюсь, что вы сможете читать большие текстовые файлы, такие как истории.
Мой код:Преобразование входного файла слов в вектор - 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; 
} 
+1

Вы пробовали отслеживать его? Каков ваш реальный вопрос? – JTeagle

+2

Ваша петля ** путь ** к сложной. Вместо этого скажите 'std :: vector слова ((std :: istream_iterator (fin)), std :: istream_iterator());' и сделайте с ним. –

+1

Ваш код не имеет смысла. Вы читаете слово, затем отбрасываете его, затем читаете другое слово, отбрасываете его, затем читаете другое слово и добавляете его в вектор чрезмерно сложным способом. Пожалуйста, подумайте, начиная с [вводной книги] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). – Philipp

ответ

0

Что касается вашего фактического вопроса

Программа у меня сейчас только запрашивает у пользователя имя входного файла, а затем прекращает свою работу после этого.

Поскольку вы не делаете никаких проверок, существует ли файл или нет, это не поможет вам узнать, что произойдет. Возможно ли, что файл не находится в правильной папке? Кажется, вы не используете какой-либо путь до имени файла, может быть, потому, что вы даете полный путь в строке?

У меня есть вводная книга. масштаб того, что я пытаюсь сделать в этой программе, не рассматривается в этой книге, хотя

Обычно редко можно найти книгу о том, что вы делаете. Однако, если вы хотите узнать больше о C++, я бы рекомендовал C++ Primer Plus, что очень хорошая книга.


Относительно вас цикл, я бы рекомендовал, чтобы заполнить свой список на линии на основе линии, особенно если вы планируете загружать Stories (например пару мегов для одного рассказа).