Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Skjame
86 / 45 / 11
Регистрация: 20.12.2010
Сообщений: 216
Записей в блоге: 1
Завершенные тесты: 1
1

QFile.open() под Linux работает, под windows нет

27.09.2015, 16:11. Просмотров 1417. Ответов 4
Метки нет (Все метки)

C++ (Qt)
1
2
3
4
5
6
7
8
9
    QDateTime dt = QDateTime::currentDateTime();
    logfilepath = "log_" + dt.toString() + ".txt";
    logfilepath.replace(' ','_');
    QFile file(logfilepath);
    if (file.open(QIODevice::WriteOnly)){
        file.write("Program started\n");
        file.close();
    }
    else qDebug()<<"error = "<<file.error();
писал код под linux и всё тип топ, но при запуске программы под мастдаем ничего не создаётся и выдаёт код ошибки 5 (couldn't open file). очень полезный код, а то я не догадался.

вычитал про запуск с правами админа, но это никак не повлияло на данную ситуацию.

Может кто-нибудь что-нибудь подсказать? А то отладка программы под мастдаем становится аццки трудной, а большая часть фокус группы именно оконщики T_T
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2015, 16:11
Ответы с готовыми решениями:

Можно ли под Windows поставить какой - то комплект Qt, чтоб параллельно компилить под Win и Linux?
Ну как бЭ вопрос в шапке :) Тоесть не имея на компе Linux, компилировать под виндой два выходных...

QFile::rename(QString name1, QString name2) не работает под Win
Добрый день! Столкнулся с проблемой: QFile::rename(QString name1, QString name2) не работает под...

Cinterion BGS2T RS232 - ошибка "Нет несущей частоты" под Windows 7 x64, под XP 32-бит работает нормально
Модем подключен через Prolific USB-to-Serial Comm Port. Обновление драйвера Prolific не помогло....

Копирование файлов с машины под Linux на машину под Windows Server
Добрый день! Возникла такая проблема. Не знаю как подступиться к скрипту. Задача следующая:...

4
RazrFalcon
1393 / 1250 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
27.09.2015, 16:41 2
Лучший ответ Сообщение было отмечено Skjame как решение

Решение

Предполагаю что dt.toString() возвращает строку времени с ':', которое запрещено в винде. Гуглите допустимые символы в именах файлов/директорий.
2
Skjame
86 / 45 / 11
Регистрация: 20.12.2010
Сообщений: 216
Записей в блоге: 1
Завершенные тесты: 1
27.09.2015, 17:10  [ТС] 3
действительно, dt.toString() возвращало с ":" и из-за этого не создавался файл(
какой бред этот мастдай.
спасибо ^_^
0
Evg
27.09.2015, 17:35
  #4

Не по теме:

Цитата Сообщение от Skjame Посмотреть сообщение
какой бред этот мастдай
Можно было бы включить моск, напечатать на экран имя файла и попробовать создать его руками. Но нет. Обязательно надо найти виноватого, и конечно же виноватым будет кто угодно, только не я сам

0
RazrFalcon
1393 / 1250 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
27.09.2015, 18:51 5
Skjame, просто в Unix запрещен только один символ: /
А в винде: < > : " / \ | ? *

В Unix, технически, даже '\0' считается верным именем файла.
1
27.09.2015, 18:51
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2015, 18:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Консультант+ на машине под Linux по сети с машины под Windows
Есть такой сложный вопрос, нужно запустить Консультант+ сетевая версия на Linux. При этом сам...

DB2 backup под Windows и под Linux.
Сделал backup DB2 базы данных. DB2 стоит под виндой. Клиент будет востанавливать backup под Unix...

Геймпад не работает под Windows 7 Pro, но работает под Windows 8 Home basic
Привет! Извиняюсь, если пишу не совсем в тот раздел - не нашел более подходящего. Проблема такая:...

Из-под appletviewer все работает, а из под браузера-нет.
Заранее извиняюсь, ежели этот вопрос покажется вам глыпым... :) Недавно я написал свой первый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.