Russian Qt Forum
Май 21, 2024, 08:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по QTextStream QT3.3.8  (Прочитано 11250 раз)
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« : Август 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 строк Непонимающий
Лепит все подряд!!!
Записан

Как мало времени и как много нужно узнать
spirit
Гость
« Ответ #1 : Август 25, 2008, 11:05 »

Код:
stream << sp << '\r';
не помогает?
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #2 : Август 25, 2008, 11:21 »

А это подойдет и Windows и Linux Непонимающий
Записан

Как мало времени и как много нужно узнать
spirit
Гость
« Ответ #3 : Август 25, 2008, 11:23 »

пойдет.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Август 25, 2008, 11:31 »

Для масдая нужно "\r\n".
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #5 : Август 25, 2008, 11:32 »

Спасибо
Записан

Как мало времени и как много нужно узнать
spirit
Гость
« Ответ #6 : Август 25, 2008, 11:33 »

Для масдая нужно "\r\n".
и '\r' отлично пашет, проверял
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Август 25, 2008, 11:45 »

Есть такое понятие, как стандарт. Так вот в винде стандарт новой строки это "\r\n", а в *никсах - "\n". \r - это вообще только возврат каретки, переход на новую строку - \n. Так что....
А то, что вы проверяли... В каких именно впрограммах? Допустим, блокнот не поддерживает *гиксовый перевод строки.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
spirit
Гость
« Ответ #8 : Август 25, 2008, 11:48 »

я код и под виндой и под иксами проверял, все работает.
Записан
spirit
Гость
« Ответ #9 : Август 25, 2008, 11:50 »

я код и под виндой и под иксами проверял, все работает.
символ попутал не '\r' ,а '\n'
Записан
vaprele07
Гость
« Ответ #10 : Август 25, 2008, 12:10 »

endl
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #11 : Август 25, 2008, 12:32 »

Попробуй открыть в блокноте, если нет "\r\n"
то выдает одной строкой!!! и рисует неопознанный символ Смеющийся

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

и все ОК
« Последнее редактирование: Август 25, 2008, 12:34 от Примерный ученик » Записан

Как мало времени и как много нужно узнать
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #12 : Август 25, 2008, 12:33 »

endl

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

Как мало времени и как много нужно узнать
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #13 : Август 25, 2008, 18:17 »

Буквально вчера сам впервые столкнулся с выгрузкой в QTextStream. Так как софтина временная и только под винду, то сделал \r\n. А с endl так и не разобрался, хотя и не сильно вчитывался.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #14 : Август 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"
 }
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.