Форум программистов, компьютерный форум CyberForum.ru

TextOut выдет каракули..=(( - C++

Восстановить пароль Регистрация
 
-=AlhimicK=-
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 3
15.11.2009, 17:59     TextOut выдет каракули..=(( #1
Хелп, не пойму в чём дело??? первые 9 цифр выводит нормальными, а с 10 и больше выкидывает каракули!!

C++
1
2
3
4
5
6
char szBuffer[512];
for(int i=1;i<100000;i++)
    {
        TextOut (hdc, 10, 10, (LPCWSTR)szBuffer, sprintf(szBuffer,"%d" ,i));
        Sleep(100);
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2009, 17:59     TextOut выдет каракули..=((
Посмотрите здесь:

Как с помощью TextOut вывести переменную? C++
Ошибка в двумерном массиве, программа проста: обьявляем и инициализируем двумерный массив и выводим на экран, на экране одни каракули!!! C++
Почему выдет ошибку C++
TextOut и OnPaint. Вывод и обновление текста. C++
Delphi Горит диплом, все сделал, выдет ошибку!
C++ Знак градуса для функции TextOut
Как задать кодировку для TextOut? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
15.11.2009, 18:05     TextOut выдет каракули..=(( #2
Цитата Сообщение от -=AlhimicK=- Посмотреть сообщение
char szBuffer[512];
создаете массив char'а и приводите к
Цитата Сообщение от -=AlhimicK=- Посмотреть сообщение
(LPCWSTR)
не порядок.

и еще вопрос, а что должно выводить?

szBuffer - не проинициализирован.
вместо кол-во символов буффера, передается бог знает что =)
Somebody
2775 / 1588 / 142
Регистрация: 03.12.2007
Сообщений: 4,162
Завершенные тесты: 1
15.11.2009, 18:07     TextOut выдет каракули..=(( #3
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
szBuffer - не проинициализирован
Там же вроде sprintf?
-=AlhimicK=-
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 3
15.11.2009, 18:13  [ТС]     TextOut выдет каракули..=(( #4
если не (LPCWSTR) то ===> error C2664: 'TextOutW' : cannot convert parameter 4 from 'char [512]' to 'LPCWSTR'


Цитата Сообщение от Monte-Cristo Посмотреть сообщение
szBuffer - не проинициализирован.
сам Петзольд так писал:

char szBuffer [60] ;

TextOut (hdc, xText, yText, szBuffer,
sprintf (szBuffer, "%-20s %7d %7d %7d %7d", szMapMode,
rect.left, rect.right, rect.top, rect.bottom)) ;




Цитата Сообщение от Monte-Cristo Посмотреть сообщение
и еще вопрос, а что должно выводить?
Должен выводить числа от 1 до 100000


Цитата Сообщение от Monte-Cristo Посмотреть сообщение
вместо кол-во символов буффера, передается бог знает что =)
Почему??=))))
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
15.11.2009, 18:22     TextOut выдет каракули..=(( #5
Цитата Сообщение от Somebody Посмотреть сообщение
Там же вроде sprintf?
Да, но я не уверен чем инициализиуертся - для wchar_t - wsprintf(). я немного не так выразился.. я хотел сказать, что там муссор.

Но лучше использовать TCHAR для буффера и функцию


Цитата Сообщение от -=AlhimicK=- Посмотреть сообщение
сам Петзольд так писал:
для меня Петзольд - никто


Цитата Сообщение от -=AlhimicK=- Посмотреть сообщение
Почему??=))))
ибо муссор =)

wchar_t
C++
1
2
3
4
5
6
7
wchar_t szBuffer[512];
 
for(int i=1;i<100000;i++)
{   
    TextOut(hdc, 10, 10, szBuffer, wsprintf(szBuffer,_T("%d") ,i));
    Sleep(100);
}


TCHAR
C++
1
2
3
4
5
6
7
TCHAR szBuffer[512];
 
for(int i=1;i<100000;i++)
{   
    TextOut(hdc, 10, 10, szBuffer, _stprintf(szBuffer,_T("%d") ,i));
    Sleep(100);
}
gfdtk
0 / 0 / 0
Регистрация: 22.10.2009
Сообщений: 6
15.11.2009, 18:23     TextOut выдет каракули..=(( #6
попробуй использовать функцию TextOutA
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
15.11.2009, 18:25     TextOut выдет каракули..=(( #7
Цитата Сообщение от gfdtk Посмотреть сообщение
попробуй использовать функцию TextOutA
Не нужно применять читов. Надо учиться сразу писать правильно. Если проект Unicod'ный, то Ansi функции применять не надо. TCHAR - это универсальный вариант. Если убрать Юникодность, можно успешно скомпилировать и Ansi, причем ничего не меняя.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2009, 18:28     TextOut выдет каракули..=((
Еще ссылки по теме:

записывает в файл каракули C++
В выходной фаил записываются вместе с ответом записываются каракули. Помогите исправить ошибку C++
TextOut как избавиться от выводимого им мусора? C++
Класс "Книга". Как убрать каракули? C++
C++ Калькулятор все время выдет ответ 0

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
-=AlhimicK=-
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 3
15.11.2009, 18:28  [ТС]     TextOut выдет каракули..=(( #8
Спасибки!! Всё получилось!=)
Yandex
Объявления
15.11.2009, 18:28     TextOut выдет каракули..=((
Ответ Создать тему
Опции темы

Текущее время: 15:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru