ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Qt - сохранение текста из QTextEdit в файл
  #1  
Старый 02.01.2010, 22:44
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
Question Qt - сохранение текста из QTextEdit в файл

QTextEdit *editArea = new QTextEdit;

QFile file(fileName);
QTextStream out(&file);

out << editArea->toPlainText();


вот, сохраняю из текстового поля в файл
но сохраняет до первого пробела

если там "строка1 строка2", то в файл попадет только "строка1"

почему?
 
Ответить с цитированием

  #2  
Старый 03.01.2010, 02:16
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Потому что разделителем записи в поток является пробел
Цитата:
Word by word. QTextStream supports streaming into QStrings, QByteArrays and char* buffers. Words are delimited by space, and leading white space is automatically skipped.
используй манипуляторы что бы убрать такой разделитель как пробел.
 
Ответить с цитированием

  #3  
Старый 03.01.2010, 10:16
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

но ведь даже если я разобью строку по пробелам

QStringList list = str.split(" ");

а потом соберу в одну строку

QString str = list.join(" ");

что мне это даст?
удалить пробелы я не могу - т.к. текст останется без пробелов
отправлять их на вывод получается тоже нельзя
 
Ответить с цитированием

  #4  
Старый 03.01.2010, 10:21
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

если сохранять кусками, то тоже не получается

foreach (QString str, list)
out << str << " ";

дальше первого элемента запись не идет
 
Ответить с цитированием

  #5  
Старый 03.01.2010, 13:36
\\ChaOs//
Познающий
Регистрация: 26.02.2009
Сообщений: 65
Провел на форуме:
583734

Репутация: 34
Отправить сообщение для \\ChaOs// с помощью ICQ
По умолчанию

Код:
QFile file(fileName);
file.open(QIODevice::WriteOnly);
file.write(editArea.toPlainText().toUtf8());
не?
 
Ответить с цитированием

  #6  
Старый 03.01.2010, 18:30
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

самое странное что тоже нет!

допустим в файле записана 1

если изменить на 12222 - так и сохранит
если изменить на 12222 333 - то сохранит до пробела, т.е. только "12222"

flush() и close() для файла делал
 
Ответить с цитированием

  #7  
Старый 04.01.2010, 00:29
\\ChaOs//
Познающий
Регистрация: 26.02.2009
Сообщений: 65
Провел на форуме:
583734

Репутация: 34
Отправить сообщение для \\ChaOs// с помощью ICQ
По умолчанию

Код:
	QFile file("file1.txt");
	QFile file2("file2.txt");

	file.open(QIODevice::WriteOnly);
	file2.open(QIODevice::WriteOnly);

	QTextStream out(&file2);

	file.write(ui.textEdit->toPlainText().toUtf8());
	out<<ui.textEdit->toPlainText();

	file.close();
	file2.close();
Хм, у меня все прекрасно работает.
Причем оба способа.
Проверял на

Код:
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
123 321 123 321 123
 
Ответить с цитированием

  #8  
Старый 04.01.2010, 13:10
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


Отправить сообщение для Дикс с помощью ICQ
По умолчанию

оказывается косяк был при чтении из файла

Цитата:
QTextStream in(&file);
QString body;
in >> body;

editArea->setText(body);
сделал так:
Цитата:
QTextStream in(&file);
QString line = in.readAll();

editArea->setText(line);
и все норм
 
Ответить с цитированием

  #9  
Старый 10.02.2010, 14:47
eldar85
Познающий
Регистрация: 27.08.2009
Сообщений: 82
Провел на форуме:
131097

Репутация: 5
Отправить сообщение для eldar85 с помощью ICQ
По умолчанию

всем сдрасти) никак не могу справиться с такой проблемой, нужно картинку загрузить в формате .gif
делаю загрузку курлом в строку, потом записываю в файл, но файл получается какого то не правельного формата... что делать подскажите плиз...
вот код:

QString StringJPG;
StringJPG.toStdString() = curl->load(http://........gif)->exec();
QFile file("captcha.gif");
file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out << StringWithCaptcha;
file.close();
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
МикроДжоинер для начинающих ReanimatoR Статьи 23 02.01.2010 15:07
Фейки dgonik777 E-Mail 34 14.06.2009 04:01
Линукс для чайников Dracula4ever Soft - *nix 11 24.01.2007 10:49
Пароль в CPanel ufo44 Уязвимости 11 07.12.2006 00:33
чтиво для новичков genom-- *nix 5 20.10.2006 19:17



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ