c++ - 读取行文本文件,如果有逗号则拆分

标签 c++ split

文本文件内容

a,b,c,d,
efgh
ijk1

我想存储在数组中,myArray[];预期输出将基于逗号拆分:

myArray[0] = a;
myArray[1] = b;
myArray[2] = c;
myArray[3] = d;
myArray[4] = efgh;
myArray[5] = ijkl;

我做了什么

string myArray[100];
int array_count = 0;

ifstream file((path+dicfile).c_str());
std::string str;

while (std::getline(file, str,','))
{
    myArray[array_count] = str; // store those value in array
    cout << str << "\n";
    strings.push_back(str);
    array_count++;
}

我做的输出

myArray[0] = a;
myArray[1] = b;
myArray[2] = c;
myArray[3] = d;
myArray[4] = efghijkl;

最佳答案

以下代码是对原始代码的补充,按行拆分,然后按逗号拆分该行:

string myArray[100];
int array_count = 0;

ifstream file((path+dicfile).c_str());
std::string line;

while (std::getline(file, line))
{
    std::istringstream iss(line);
    std::string str;
    while (std::getline(iss, str, ','))
    {
        myArray[array_count] = str; // store those value in array
        cout << str << "\n";
        strings.push_back(str);
        array_count++;
    }
}

关于c++ - 读取行文本文件,如果有逗号则拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43865943/

相关文章:

c++ - VC++ 2010 "array is not a member of std"错误

c++ - 为什么非模板函数具有相同的名称和参数但返回类型不同是非法的? (但模板函数合法吗?)

Python 字符串是不可变的,那么为什么 s.split() 返回一个新字符串列表

Java 文件获取第一个空行的内容

java - 字符串分词

c++ - 为什么在 C/C++ 多维数组中 a[0] 与 a 相同?

c++ - 没有可行的重载 '=' 用于将 std::function 回调分配为成员函数

c++ - 无法在 gRPC 中使用 proto 3.0 缓冲区生成客户端代码

android - Android 中的 JSON 数组拆分器

PHP 用规则分割电子邮件