Russian Qt Forum

Qt => Общие вопросы => Тема начата: Примерный ученик от Август 25, 2008, 10:47



Название: Вопрос по QTextStream QT3.3.8
Отправлено: Примерный ученик от Август 25, 2008, 10:47
Как сделать вывод с текстовый файл с разбивкой на строки

Код:
QFile outFile("test.txt");
QTextStream stream(&outFile);

  for (int j=1;j<40;j++)
 {
sp.sprintf("%i",j);
stream << sp ;
 }
чтобы получилось 40 строк ???
Лепит все подряд!!!


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: spirit от Август 25, 2008, 11:05
Код:
stream << sp << '\r';
не помогает?


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: Примерный ученик от Август 25, 2008, 11:21
А это подойдет и Windows и Linux ???


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: spirit от Август 25, 2008, 11:23
пойдет.


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: Пантер от Август 25, 2008, 11:31
Для масдая нужно "\r\n".


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: Примерный ученик от Август 25, 2008, 11:32
Спасибо


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: spirit от Август 25, 2008, 11:33
Для масдая нужно "\r\n".
и '\r' отлично пашет, проверял


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: Пантер от Август 25, 2008, 11:45
Есть такое понятие, как стандарт. Так вот в винде стандарт новой строки это "\r\n", а в *никсах - "\n". \r - это вообще только возврат каретки, переход на новую строку - \n. Так что....
А то, что вы проверяли... В каких именно впрограммах? Допустим, блокнот не поддерживает *гиксовый перевод строки.


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: spirit от Август 25, 2008, 11:48
я код и под виндой и под иксами проверял, все работает.


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: spirit от Август 25, 2008, 11:50
я код и под виндой и под иксами проверял, все работает.
символ попутал не '\r' ,а '\n'


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: vaprele07 от Август 25, 2008, 12:10
endl


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: Примерный ученик от Август 25, 2008, 12:32
Попробуй открыть в блокноте, если нет "\r\n"
то выдает одной строкой!!! и рисует неопознанный символ ;D

Сделал
Код:
#if defined(Q_WS_WIN)	// в WINDOWS 
stream << sp <<"\r\n";
#else // другие ос
stream << sp <<"\n";
#endif

и все ОК


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: Примерный ученик от Август 25, 2008, 12:33
endl

А куда его присобачить?


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: Пантер от Август 25, 2008, 18:17
Буквально вчера сам впервые столкнулся с выгрузкой в QTextStream. Так как софтина временная и только под винду, то сделал \r\n. А с endl так и не разобрался, хотя и не сильно вчитывался.


Название: Re: Вопрос по QTextStream QT3.3.8
Отправлено: lit-uriy от Август 25, 2008, 19:39
глядм в Асистент и видим:
Код:
 QFile data("output.txt");
 if (data.open(QFile::WriteOnly | QFile::Truncate)) {
     QTextStream out(&data);
     out << "Result: " << qSetFieldWidth(10) << left << 3.14 << 2.7 << endl;
     // writes "Result: 3.14      2.7       \n"
 }