功能背景:一个每日todolist的功能。
背景:读取存在本地的csv文件。
// qt文件流读csv文件
void MainWindow::ReadFileData_qt(QString filePath)
{
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream stream(&file);//stream:一行数据
stream.setEncoding (QStringConverter::System);
std::vector<QString> lines;
std::vector<QStringList> Rows;
while (!stream.atEnd())
{
QString line = stream.readLine();
QStringList row = line.split(',', Qt::SkipEmptyParts);
lines.push_back(line);
Rows.push_back(row);
}
file.close();
return;
}
遇到的问题:读文件的中文内容会乱码。
解决方法:添加这行“stream.setEncoding (QStringConverter::System);”
问题出现的原因:csv文件的编码格式和qt不一致。
实现效果:
qt变量数据:暂时放在vector里,实际需要放在类对象里。
文件内容: