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

Jon*_*ter 5 c++ csv vector std

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

    std::stringstream ss(sText);
    std::string item;

    while(std::getline(ss, item, ','))
    {
        m_vecFields.push_back(item);
    }
Run Code Online (Sandbox Code Playgroud)

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

text1,tex2,
Run Code Online (Sandbox Code Playgroud)

我希望它返回一个大小为 3 的向量,其中第三个值只是空。然而,它只是返回一个大小为 2 的向量。我该如何纠正这个问题?

jro*_*rok 2

bool addEmptyLine = sText.back() == ',';

/* your code here */

if (addEmptyLine) m_vecFields.push_back("");
Run Code Online (Sandbox Code Playgroud)

或者

sText += ',';     // text1, text2,,

/* your code */

assert(m_vecFields.size() == 3);
Run Code Online (Sandbox Code Playgroud)