繁体   English   中英

从文本文件中读取一行并将其存储到 C++ 中的二维向量中

[英]Reading a line from a text file and storing it into a 2D vector in C++

这是我的代码,它逐个字符串读取而不是读取一行并将其存储在一维向量中而不是二维向量中。 我想将每一行存储在数组的第一维中,然后将该行中的每个元素存储在数组的第二维中。

std::ifstream fin("triangulation#4.tri");
std::vector<std::string> vec;

//input from file
std::copy(std::istream_iterator<std::string>(fin), std::istream_iterator<std::string>(), std::back_inserter(vec));

我不确定您是否坚持从文件中读取行或如何填充 2d 向量,所以我给了你两者并且为了不偷你自己完成事情的成功,我将它们分开(如果你因为你正在学习,所以你会记住这个代码)。 该代码片段运行良好。

这适用于 Linux 将文件逐行读入向量。

string dir = string("."); //dir read for string puzzle
  vector<string> files = vector<string>(); //dir read
      getdir(dir,files);                     //dir read
           for (unsigned int i = 0;i < files.size();i++) //files of parent DIR gets red into array/Vector
           {
             if (files[i].find(filter) != string::npos)   
             {
                               string out = files[i];

             }
           }

这是初始化一个二维向量:

vector < vector < size_t > > > _card_deck;  

这是一种用字符串填充它的方法:

for(size_t playnum = 0; playnum < players; ++playnum)
  {
        vector < vector < size_t > > d1;
        _card_deck.push_back( d1 );

        for(size_t color = 0; color < 4; color++)
            {
            vector < size_t > d2;
                    _card_deck[playnum].push_back( d2 );
            }
   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM