• <tfoot id='g27YN'></tfoot><legend id='g27YN'><style id='g27YN'><dir id='g27YN'><q id='g27YN'></q></dir></style></legend>
      <bdo id='g27YN'></bdo><ul id='g27YN'></ul>
  • <small id='g27YN'></small><noframes id='g27YN'>

        <i id='g27YN'><tr id='g27YN'><dt id='g27YN'><q id='g27YN'><span id='g27YN'><b id='g27YN'><form id='g27YN'><ins id='g27YN'></ins><ul id='g27YN'></ul><sub id='g27YN'></sub></form><legend id='g27YN'></legend><bdo id='g27YN'><pre id='g27YN'><center id='g27YN'></center></pre></bdo></b><th id='g27YN'></th></span></q></dt></tr></i><div id='g27YN'><tfoot id='g27YN'></tfoot><dl id='g27YN'><fieldset id='g27YN'></fieldset></dl></div>

        将一行 csv 文件拆分为 std::vector?

        时间:2023-09-15

      1. <legend id='Z37CW'><style id='Z37CW'><dir id='Z37CW'><q id='Z37CW'></q></dir></style></legend>

              <tbody id='Z37CW'></tbody>
              <tfoot id='Z37CW'></tfoot>
                <i id='Z37CW'><tr id='Z37CW'><dt id='Z37CW'><q id='Z37CW'><span id='Z37CW'><b id='Z37CW'><form id='Z37CW'><ins id='Z37CW'></ins><ul id='Z37CW'></ul><sub id='Z37CW'></sub></form><legend id='Z37CW'></legend><bdo id='Z37CW'><pre id='Z37CW'><center id='Z37CW'></center></pre></bdo></b><th id='Z37CW'></th></span></q></dt></tr></i><div id='Z37CW'><tfoot id='Z37CW'></tfoot><dl id='Z37CW'><fieldset id='Z37CW'></fieldset></dl></div>

                  <bdo id='Z37CW'></bdo><ul id='Z37CW'></ul>

                  <small id='Z37CW'></small><noframes id='Z37CW'>

                  本文介绍了将一行 csv 文件拆分为 std::vector?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有一个函数可以逐行读取 CSV 文件.对于每一行,它会将这条线分割成一个向量.执行此操作的代码是

                  I have a function that will read a CSV file line by line. For each line, it will split the line into a vector. The code to do this is

                      std::stringstream ss(sText);
                      std::string item;
                  
                      while(std::getline(ss, item, ','))
                      {
                          m_vecFields.push_back(item);
                      }
                  

                  这工作正常,除非它读取最后一个值为空的行.例如,

                  This works fine except for if it reads a line where the last value is blank. For example,

                  text1,tex2,
                  

                  我希望它返回一个大小为 3 的向量,其中第三个值只是空的.但是,它只返回大小为 2 的向量.我该如何纠正?

                  I would want this to return a vector of size 3 where the third value is just empty. However, instead it just returns a vector of size 2. How can I correct this?

                  推荐答案

                  bool addEmptyLine = sText.back() == ',';
                  
                  /* your code here */
                  
                  if (addEmptyLine) m_vecFields.push_back("");
                  

                  sText += ',';     // text1, text2,,
                  
                  /* your code */
                  
                  assert(m_vecFields.size() == 3);
                  

                  这篇关于将一行 csv 文件拆分为 std::vector?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:为什么不对 std::vector 重载 operator+=() ? 下一篇:sizeof(vector) 的大小是多少?C++

                  相关文章

                  最新文章

                  <small id='hUUIm'></small><noframes id='hUUIm'>

                    <i id='hUUIm'><tr id='hUUIm'><dt id='hUUIm'><q id='hUUIm'><span id='hUUIm'><b id='hUUIm'><form id='hUUIm'><ins id='hUUIm'></ins><ul id='hUUIm'></ul><sub id='hUUIm'></sub></form><legend id='hUUIm'></legend><bdo id='hUUIm'><pre id='hUUIm'><center id='hUUIm'></center></pre></bdo></b><th id='hUUIm'></th></span></q></dt></tr></i><div id='hUUIm'><tfoot id='hUUIm'></tfoot><dl id='hUUIm'><fieldset id='hUUIm'></fieldset></dl></div>
                      <bdo id='hUUIm'></bdo><ul id='hUUIm'></ul>

                    <legend id='hUUIm'><style id='hUUIm'><dir id='hUUIm'><q id='hUUIm'></q></dir></style></legend>
                    1. <tfoot id='hUUIm'></tfoot>