C++ 将字的输入文件转换为向量-C++;

C++ 将字的输入文件转换为向量-C++;,c++,string,input,vector,fstream,C++,String,Input,Vector,Fstream,我正在创建一个只读取文本输入文件的程序,并在该输入文件中创建一个单词向量。我现在使用的程序只提示用户输入文件名,然后停止运行。我的文本文件中只有3个单词用于测试,但在程序结束时,我希望能够阅读大型文本文件,如故事。 我的代码: #包括 #包括 #包括 #包括 使用名称空间std; int main(){ 字符串文件名;//文本文件的名称 string words fromfile;//从文本文件中收集的单词 cout文件名; ifstream fin(filename.c_str()); fin

我正在创建一个只读取文本输入文件的程序,并在该输入文件中创建一个单词向量。我现在使用的程序只提示用户输入文件名,然后停止运行。我的文本文件中只有3个单词用于测试,但在程序结束时,我希望能够阅读大型文本文件,如故事。
我的代码:

#包括
#包括
#包括
#包括
使用名称空间std;
int main(){
字符串文件名;//文本文件的名称
string words fromfile;//从文本文件中收集的单词
cout文件名;
ifstream fin(filename.c_str());
fin>>文字文件;
while(fin>>wordsFromFile)
{
fin>>文字文件;
矢量字;

对于(inti=0;i关于你的实际问题

我现在使用的程序只提示用户输入文件名,然后停止运行

由于您没有检查文件是否存在,因此无法帮助您了解发生了什么情况。文件是否位于正确的文件夹中?您似乎没有在文件名之前使用任何路径,可能是因为您在提示中给出了完整路径


我确实有一本介绍性的书。不过,这本书没有涵盖我在本课程中尝试做的事情的范围

一般来说,你找不到一本书,你就要知道C++的内容。但是,如果你想了解更多关于C++的知识,我会推荐C++入门语言,这是一本很好的书。

关于你的循环,我建议你在每行的基础上填写你的列表,特别是如果你计划加载故事(例如,一个故事有两个MEG)。

你试过跟踪它吗?你的实际问题是什么?你的循环太复杂了。相反,说
std::vector words((std::istream\u迭代器(fin)),std::istream_迭代器())你的代码没有意义。你正在读一个单词,然后扔掉它,然后读另一个单词,扔掉它,然后读另一个单词,并把它添加到一个过于复杂的向量中。请考虑从A开始。我有一本介绍性的书。我在这个程序中试图做的范围。不过,这本书中并没有提到m。
#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; 
}