Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2011, 17:15   #1
hard-t
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 22
Вопрос Проблема с широкими потоками(wofstream)

Вот такое дело. Код:


Код:
w_char* xmlRezult;//здесь хранится имя файла
wstringstream* outputStream;//здесь хранится конечный текст который надо записать
....
....
wfstream *rezultFile = new wfstream(xmlRezult);
(*rezultFile)<<outputStream->str();
rezultFile->flush();
rezultFile->close();
wcout<<outputStream->str();
Так вот wcout печатает в консоль действительно то что содержится в outputStream, а rezultFile печатает в файл xmlRezult где то только половину(файл получается 2,6 кб вместо нужных 4). Кто нибудь знает в чем проблема и как её исправить? Благодарю за внимание.
hard-t вне форума Ответить с цитированием
Старый 19.08.2011, 17:53   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Убедись, что везде используется wide character, неверно указанный тип может укоротить файл ровно в два раза. Думаю, с дебагером будет нетрудно найти ошибку.
ds.Dante вне форума Ответить с цитированием
Старый 22.08.2011, 11:12   #3
hard-t
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 22
По умолчанию

а можно чуток поподробнее
hard-t вне форума Ответить с цитированием
Старый 23.08.2011, 11:40   #4
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Все типы и функции для работы со строками есть двух видов - ANSI (на основе char) и wide (на основе wchar_t). Если ты, например, указал где-то длину буфера в байтах, равную числу символов wchar_t, то буфер незаметно укоротится в два раза. Сделай короткую строку, и пройдись дебагером пошагово по программе, посмотри, в какой момент строка укоротится.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с потоками или моими мозгами kardinal94 Общие вопросы Delphi 2 28.08.2010 21:37
Проблема с потоками xStill Работа с сетью в Delphi 0 19.03.2010 10:17
Есть проблема с потоками DeeNamid Общие вопросы Delphi 2 01.11.2008 14:05
Проблема с потоками DeeNamid Общие вопросы Delphi 2 04.08.2008 17:36
Проблема с потоками vitalik007 Общие вопросы Delphi 1 11.03.2008 22:35