Название: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 13:21 Надо записать в файл текст, попробовал вот так, после выполнения этого кода в файле оказалось I?eaao. Как правильно записать в файл ?
Код
Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 13:27 Надо записать в файл текст, попробовал вот так, после выполнения этого кода в файле оказалось I?eaao. Как правильно записать в файл ? Почитай про кодировки и void QTextStream::setCodec ( QTextCodec * codec ); void QTextStream::setCodec ( const char * codecName ); Название: Re: Как записать в файл ? Отправлено: break от Октябрь 18, 2009, 13:43 + еще может помочь
text << QStringFromUtf8( "Привет" ); если исходник в utf8 Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 13:53 Написал text.setCodec("UTF-8"); но все равно получается абракадабра. Не понимаю ! UTF-8 - это юникод, а юникод ведь должен поддерживать русские символы
Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 13:59 Написал text << QString::fromUtf8( "Привет" );
Теперь в файле вопросительные знаки Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 14:02 Написал text << QString::fromUtf8( "Привет" ); А в какой кодировке твои исходники?Теперь в файле вопросительные знаки Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 14:04 Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 14:08 Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 14:10 Код: 'locale' is not recognized as an internal or external command, Я в Винде сижу. Наверно нет такой команды Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 14:15 Я в Винде сижу. Наверно нет такой команды В main добавь:Код
Выводи текст: Код
Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 14:30 Выдает ошибку:
error: no matching function for call to `QTextCodec::codecForName(QTextCodec*)' Код
Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 14:32 Выдает ошибку: Это я запарился. :)Код
Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 14:58 Работает ! :D Спасибо !!!
Название: Re: Как записать в файл ? Отправлено: lit-uriy от Октябрь 18, 2009, 16:48 >>Как это узнать ?
Дык, тебе должно быть виднее. Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 17:54 Код
QString( "Привет" ) - это функция. Навожу на него мышь, нажимаю F1 и вылезает "QString Class Reference". Что такое QString ? ??? Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 17:59 QString( "Привет" ) - это функция. Навожу на него мышь, нажимаю F1 и вылезает "QString Class Reference". Что такое QString ? ??? Класс такой. :)Название: Re: Как записать в файл ? Отправлено: KADABRA от Октябрь 18, 2009, 18:25 QString( "Привет" ) - это функция. Это не функция.Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 18:53 Цитировать QString( "Привет" ) - это функция. Ладно, я понял что это не функция, а класс. Подскажите пожалуйста, как называется такой прием программирования, чтобы я мог найти и почитать что-нибудь про это.Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 18:56 Цитировать QString( "Привет" ) - это функция. Ладно, я понял что это не функция, а класс. Подскажите пожалуйста, как называется такой прием программирования, чтобы я мог найти и почитать что-нибудь про это.Для ясности, твой пример можно переписать так: Код
Название: Re: Как записать в файл ? Отправлено: lit-uriy от Октябрь 18, 2009, 19:03 Т.е. просто использован конструктор класса. Также можно вызвать и метод класса:
Код
В С++ и типы приводить рекомендуют через конструктор: Код
Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 19:11 Т.е. просто использован конструктор класса. Также можно вызвать и метод класса: :oКод
Метод конструктора ??! Название: Re: Как записать в файл ? Отправлено: BRE от Октябрь 18, 2009, 19:17 Т.е. просто использован конструктор класса. Также можно вызвать и метод класса: :oКод
Метод конструктора ??! Код
Название: Re: Как записать в файл ? Отправлено: QtProger от Октябрь 18, 2009, 19:27 Спасибо за инфу ! Буду разбираться :)
Название: Re: Как записать в файл ? Отправлено: lit-uriy от Октябрь 18, 2009, 20:20 Посмотри пример к функции int QString::count ( const QRegExp & rx ) const
там та же суть - приведение типа через конструктор (создание безымянного временного объекта) Название: Re: Как записать в файл ? Отправлено: KADABRA от Октябрь 19, 2009, 01:16 В С++ и типы приводить рекомендуют через конструктор: В C++ типы рекомендуется приводить через набор cast'ов, в данном случае - через static_cast. C-style приведения в C++ не рекомендуется использовать вовсе, "оставлены" они для обратной совместимости с C.Код
|