Создание файла с помощью QFile |
Здравствуйте, гость ( Вход | Регистрация )
Создание файла с помощью QFile |
NO_0b |
23.3.2012, 15:48
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 23.3.2012 Пользователь №: 3285 Спасибо сказали: 0 раз(а) Репутация: 0 |
QFile mFile("F:/Test/MyFile.txt");
Как понимаю, создает объект mFile класса QFile. Но не понтно, соездает ли файл с именем F:/Test/MyFile.txt или он уже должен был существовать? И если верно второе, то как можно программно создать файл с определенным именем в определенной папке? Изучаю QT второй день, просьба ногами не бить. |
|
|
ilyabvt |
23.3.2012, 16:24
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Файл создается при вызове функции open, если он не был создан до этого. |
|
|
NO_0b |
23.3.2012, 16:47
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 23.3.2012 Пользователь №: 3285 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо. И тогда второй вопрос. Какие могут быть причины, что файл упорно не хочет открыватьс?
Вот написал функцию: QString Write(QString Filename) { QFile mFile(Filename); if(!mFile.open(QFile::WriteOnly,QFile::Text)) return "Could not open for writing"; QTextStream out(&mFile); out<< "MF"; mFile.close(); return "Succesful writing"; } При вызове постонно пишет что не может открыть. Все, нашел проблему. В обучающем курсе c++ qt 12 на youtube было написано дл задани режима только запись QFile::WriteOnly и почему то работало. Попробовал QIODevice::WriteOnly и у мен стало работать. |
|
|
ilyabvt |
23.3.2012, 18:51
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Вы пытаетесь передать два параметра, а функция open принимает только один. Если хотите передать несколько флагов следует воспользоваться оператором '|' (побитовое ИЛИ). Вот так правильно:
|
|
|
NO_0b |
23.3.2012, 20:08
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 23.3.2012 Пользователь №: 3285 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да, действительно. Был невнимателен и не увидел что там побитовое ИЛИ, а не запта под второй аргумент.
Большое спасибо. |
|
|
Текстовая версия | Сейчас: 20.4.2024, 19:15 |