QFile :: resize ведет себя по-разному в Windows и Ubuntu - PullRequest
0 голосов
/ 01 июля 2019
    int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
#ifdef _WIN32
    QString fileName("G:\\sampledir\\file1.txt");
#elif __linux__
    QString fileName("/home/dheeraj/sampledir/file1.txt");
#endif
    QFile *file = new QFile(fileName);
    if(!file->resize(32))
    {
        cout<<"ERROR in resize"<<endl;
    }
    return 0;
}

Обратите внимание, что указанный мной каталог уже существует, а файл не существует.В Windows вызов "file->resize(32)" создает файл на диске и возвращает true.Но в Ubuntu вызов "file->resize(32)" возвращает false.

В чем может быть причина?Каково реальное ожидаемое поведение?

Документация для QFile::resize тоже не является окончательной.Он говорит, что эта функция «может» завершиться ошибкой, если файл не существует.

Я использую Qt 5.9.2 в Windows 10 и Ubuntu 14.04

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...