попытки загрузить CSV-файл в «QString» (для того, чтобы преобразовать его в HTML-файл в будущем)QT не загружать данные файла, хотя файл содержит данные
Но хотя файл существует и содержит данные QT «думает «файл пуст.
Это моя функция:
void readCSVfile(QString csvFileName, bool relativePath)
{
QString csvFile = csvFileName;
QString workingDir = QDir::currentPath() + "//";
QString fullCSVpath = (relativePath ? workingDir : "") + csvFile;
QFile csvfile(fullCSVpath);
// verify csv file is exist
if (!csvfile.exists())
{
csvfile.close();
return;
}
QTextStream in(&csvfile);
// test - to verify QT success to read the file.
QString alltextTemp = in.readAll();
}
и это мое содержимое файла:
Time,Reporter,Type,Content,Screenshot,RTF Note
11/12/2013 5:37:25 PM,Asf,(Rapid Reporter version),"1.12.12.28",,
11/12/2013 5:37:25 PM,Asf,Session Reporter,"Asf",,
11/12/2013 5:37:25 PM,Asf,Session Charter,"target",,
11/12/2013 5:37:47 PM,Asf,Session End. Duration,"00:00:22",,
Проблема: переменная 'alltextTemp' содержит пустую строку (и не содержать содержимое файла)
Вопрос: почему? (Или то, что мне нужно сделать, чтобы получить содержание)
Файл не специальные разрешения и т.д.
QT 5.1.1
ОС: Win 7 x64
Благодарим Вас за любая помощь!
Используйте оператор _qDebug_ для печати _fullCSVpath_ и посмотрите, есть ли путь к файлу, который вы хотите, и небольшой сбой, который я вижу, но я не уверен, что это может вызвать проблему у вас: "//" - слэша не нужно экранировать, одной косой черты достаточно (только символ обратной косой черты должен быть экранирован) – Zlatomir
Помните, что папка по умолчанию может не быть папкой, содержащей исполняемый файл. С Visual Studio папка по умолчанию при отладке - это файл, содержащий файл решения. – drescherjm
Также я надеюсь, что вы установите alltextTemp где-то еще, так как он выйдет за пределы области в следующем} – drescherjm