Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> outputdebugstring stringstream, выводим дебажное сообщение 
:(
    Опции темы
CompWorm
Дата 22.1.2012, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: нет
Всего: 31



Доброго времени!

Код

   std::stringstream str;
   str << "hello Ворлд!"  << "\n";
   OutputDebugString((char*)str.str().c_str());


что-то с кодированием я налохматил, подскажите как поправить?
выводятся знаки вопросов. тут что-то с принтом надо сделать кажется, но никак не вспомню что...

Это сообщение отредактировал(а) CompWorm - 22.1.2012, 14:14


--------------------
PM MAIL   Вверх
586
Дата 22.1.2012, 16:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Код
   std::stringstream str;
   str << "hello Ворлд!"  << "\n";
   OutputDebugStringA(str.str().c_str());

PM   Вверх
CompWorm
Дата 22.1.2012, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: нет
Всего: 31



586, гмм... не совсем так как я ожидал, но работает))))) не знал что ещё с А бывает. 
спасибо, +.


--------------------
PM MAIL   Вверх
JackYF
Дата 22.1.2012, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162




M
JackYF
Оффтопик порезал.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
CompWorm
Дата 23.1.2012, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: нет
Всего: 31



эврика! не тот стрим!
Код

#include <sstream>


        std::ostringstream str;
        str << " хелоу ворлд \n";
        OutputDebugString(str.str().c_str());


Это сообщение отредактировал(а) CompWorm - 23.1.2012, 08:17


--------------------
PM MAIL   Вверх
bsa
Дата 23.1.2012, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(CompWorm @  23.1.2012,  09:16 Найти цитируемый пост)
не тот стрим!

причем тут стрим? stringstream - это поток доступный на чтение и запись. А ostringstream доступен только на запись. В твоем примере они отличий не имеют.
PM   Вверх
CompWorm
Дата 24.1.2012, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: нет
Всего: 31



Цитата(bsa @  23.1.2012,  09:51 Найти цитируемый пост)
причем тут стрим? stringstream - это поток доступный на чтение и запись. А ostringstream доступен только на запись. В твоем примере они отличий не имеют. 

да, согласен... тут я промахнулся.

вот тут нашёл интереснейшую статью по этому поводу. 
Я правильно понимаю, что при вызове просто OutputDebugString выбор между юникодовой OutputDebugStringW и АНСИ OutputDebugStringA вариантом производится в зависимости от настроек билда? то есть по хорошему в проекте надо как-то выставить ANSI...

Добавлено через 2 минуты и 30 секунд
дело в том что при вызове OutputDebugString под WinXP у меня срабатывает АНСИ вариант, а под Win7 - ЮНИКОДовый... а код пишу один и тот же...

Добавлено через 3 минуты и 53 секунды
и студия одна и та же...


--------------------
PM MAIL   Вверх
586
Дата 25.1.2012, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Кодировку можно настроить в свойствах проекта: Меню -> Project -> Properties -> Configuration Properties -> General -> в списке найди свойство "Character Set" -> укажи "Use multibyte character set".
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0652 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.