C++从具有多个分隔符的文件中读取矩阵

Koo*_*Yeo 5 c++ matrix

所以我给了一个包含十个矩阵的文件,我想从文件中读取这些矩阵并将它们保存到向量/数组中,其中每个矩阵都存储在向量或数组中.但是,这些矩阵的格式使我很难读取数据(我从输入文件中读取不好).

该文件具有以下格式.每个矩阵的元素用","分隔.每行用";"分隔,每个矩阵用"|"分隔.例如,三个2乘2矩阵如下.

1,2; 3,4 | 0,1; 1,0 | 5,3; 3,1 |

我只想将矩阵保存到三个不同的向量中,但我不知道如何做到这一点.

我试过了

    while(getline(inFile,line)){
        stringstream linestream(line);
        string value;
        while(getline(linestream, value, ','){
               //save into vector
        }
    }
Run Code Online (Sandbox Code Playgroud)

但这显然非常粗糙,只能用逗号分隔数据.有没有办法用多个分隔符分隔数据?

谢谢!

sam*_*rkn 6

string line;
while(getline(infile, line, '|'))
{
    stringstream rowstream(line);
    string row;
    while(getline(rowstream, row, ';'))
    {
           stringstream elementstream(row);
            string element;
            while(getline(elementstream, element, ','))
            {
                cout << element << endl;                    
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,您可以根据需要构建逻辑来存储个人element.