Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
#1

Непонятный вывод - C++

06.07.2011, 22:46. Просмотров 985. Ответов 29
Метки нет (Все метки)

У меня есть следующий код функции на С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void CursorPosition(HWND hWnd, int xPosition, int yPosition, int xCell, int yCell, int sx, int sy) {
    int oneStepOnX = sx/8;
    int oneStepOnY = sy/8;
 
    TCHAR sumbolsChar[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' };
    TCHAR sumbolsInt[] = { '1', '2', '3', '4', '5', '6', '7', '8' };
 
    TCHAR intPos;
    TCHAR charPos;
 
    intPos = sumbolsInt[xPosition/oneStepOnX];
    charPos = sumbolsChar[yPosition/oneStepOnY];
 
    TCHAR out[2];
    out[0] = intPos;
    out[1] = charPos;
 
    MessageBox(hWnd, out , _T("Координаты"), MB_OK);
}
В окно сообщений выводит правильные координаты, и потом разные китайские иероглифы. В отладчике видно, что переменные intPos и charPos имеют правильные значения. Но после их занесения в массив out они смешиваются с каким-то мусором. Почему??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2011, 22:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Непонятный вывод (C++):

Непонятный вывод значений синуса - C++
Есть вот такой код: #include <iostream> #include <cmath> using namespace std; const double pi = 3.14159265358979; int...

Непонятный вывод структуры через функцию - C++
#include <cstdlib> #include <iostream> using namespace std; struct st { char name; char surname; int...

Непонятный вывод: постфиксные и префиксные инкремент/декремент - C++
Под спойлером весь который можно просто скопипастить и запустить в онлайн компиляторе http://www.compileonline.com/compile_cpp11_online.php...

Непонятный цикл - C++
for (int i = 0, r = n - 1; i < r; ++i, --r) Объясните пожалуйста, это 2 цикла в одном? Можно ли как нибудь попроще его записать?

Непонятный код - C++
#define HEX__(n) 0x##n##LU #define B8__(x) ((x&0x0000000FLU)?1:0)\ +((x&0x000000F0LU)?2:0)\ ...

Непонятный Код - C++
К какому языку относится следующий код: use Net::SSH2; my $user = "root"; my $pass = "yahh"; my $ip = "127.0.0.1"; my...

29
Bers
Заблокирован
07.07.2011, 00:08 #16
Цитата Сообщение от schdub Посмотреть сообщение
Bers, многобайтовая кодировка это wchar_t.
Совершенно по барабану.
Есть нормальный символьный тип данных - char. Есть поддержка многобайтовой кодировки от студии. Больше - ничо не нада. Все работает, как нужно.

Добавлено через 58 секунд
от чара требуется только две вещи:
1. Весить стабильно 1 байт.
2. Уметь хранить русские буквы (здесь IDE помогает).

Больше нафег ничо не нада.

Добавлено через 41 минуту
если кому то очень интересно разобраться с юникодом:

http://wm-help.net/books-online/print-page/59464/59464-13.html
0
easybudda
Модератор
Эксперт CЭксперт С++
9912 / 5835 / 975
Регистрация: 25.07.2009
Сообщений: 11,004
07.07.2011, 01:16 #17
C
1
MessageBoxA(NULL, out , "Координаты", MB_OK);
и можно ничего не менять...
0
Bers
Заблокирован
07.07.2011, 01:42 #18
Цитата Сообщение от easybudda Посмотреть сообщение
и можно ничего не менять...
Можно конечно заюзать TCHAR с егошними макросами. только нафег нужно
0
easybudda
Модератор
Эксперт CЭксперт С++
9912 / 5835 / 975
Регистрация: 25.07.2009
Сообщений: 11,004
07.07.2011, 02:46 #19
Цитата Сообщение от Bers Посмотреть сообщение
Можно конечно заюзать TCHAR с егошними макросами.
А чем ANSI версия MessageBox не устроила? Если в планах поддержка Unicode, так лучше её сразу делать, а так MessageBoxA() - самый незамороченный вариант.


 Комментарий модератора 
Bers, и кстати... Пишите по-русски!
Официальным языком форума является русский язык.
...
Избегайте грамматических ошибок при написании сообщений - уважайте себя и других участников форума.
...
Запрещено использовать нецензурные выражения в любом виде, оскорблять других участников форума, умышленно использовать выражения, противоречащие правилам русского языка.
Правила форума
0
Bers
Заблокирован
07.07.2011, 09:46 #20
Цитата Сообщение от easybudda Посмотреть сообщение
Bers, и кстати... Пишите по-русски!
А я что, по-английски пишу?
Что-то я вообще не понял комментарий модератора из 19 поста.
0
co6ak
Кошковед
514 / 502 / 30
Регистрация: 12.04.2010
Сообщений: 1,392
07.07.2011, 09:50 #21
Цитата Сообщение от Bers Посмотреть сообщение
А я что, по-английски пишу?
Что-то я вообще не понял комментарий модератора из 19 поста.
это двойные стандарты надо говорить по-русски, по слова "пост", "юзать", "ТС" и много чего разрешены
0
easybudda
Модератор
Эксперт CЭксперт С++
9912 / 5835 / 975
Регистрация: 25.07.2009
Сообщений: 11,004
07.07.2011, 10:13 #22
Цитата Сообщение от Bers Посмотреть сообщение
Что-то я вообще не понял комментарий модератора из 19 поста.
В ЛС объясню, если действительно не понимаете...
0
silent_1991
Эксперт С++
4997 / 3055 / 149
Регистрация: 11.11.2009
Сообщений: 7,040
Завершенные тесты: 1
07.07.2011, 17:15 #23
Цитата Сообщение от 'co6ak' Посмотреть сообщение
надо говорить по-русски, по слова "пост", "юзать", "ТС" и много чего разрешены
Ага. Зато "егошними" дико режет слух и глаза...
0
Bers
Заблокирован
07.07.2011, 17:20 #24
Цитата Сообщение от silent_1991 Посмотреть сообщение
Ага. Зато "егошними" дико режет слух и глаза...
Это ваши трудности.

Добавлено через 1 минуту
я не собираюсь менять свой диалект на "грамматически правильный рус. яз." только потому, что кому то это режет глаза.
0
silent_1991
Эксперт С++
4997 / 3055 / 149
Регистрация: 11.11.2009
Сообщений: 7,040
Завершенные тесты: 1
07.07.2011, 17:21 #25
Bers, неа, ваши. Ибо правило было процитировано.
0
Bers
Заблокирован
07.07.2011, 17:25 #26
Цитата Сообщение от silent_1991 Посмотреть сообщение
Bers, неа, ваши. Ибо правило было процитировано.
В правилах не сказано, что персонажи обязаны писать грамматически правильно по русски.
Там лишь сказано, что нельзя сознательно коверкать слова.

говор на различный манер - не является СОЗНАТЕЛЬНЫМ коверканьем. А всего лишь, являет собой диалект языка.

пример:

- дядь Мить, а дядь, а где Витько?
- побёг куда то.

(ц)

Грамматически не верно, но это - продукт местного говора, а не сознательное коверканье.
Тут не диктант по русскому, и правило не обязуют каждого строить грамматически верные предложения.

Так что я не нарушаю правил. Я реализую свою свободу слова писать так, как привык, при неформальном общении.
0
silent_1991
07.07.2011, 17:35
  #27

Не по теме:

Bers, во-первых, сказать и написать - разные вещи. Во-вторых, не будем разводить оффтоп. Вам сделали предупреждение. Принять его к сведению или нет - ваше право. Но и последствия, соответственно, будут разными.

1
Bers
07.07.2011, 17:53
  #28

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
Bers, во-первых, сказать и написать - разные вещи. Во-вторых, не будем разводить оффтоп. Вам сделали предупреждение. Принять его к сведению или нет - ваше право. Но и последствия, соответственно, будут разными.
Во-первых, этот оффтоп начал не я. Я лишь реагирую на ваши замечания.

Во-вторых, письменная речь не делается НЕ_речью, только от того, что она письменная. Тем паче, если она имеет форму неформального диалога.

В-третьих, работа модераторов (со всеми вытекающими последствиями) меня вообще мало интересует. Это не моя зона ответственности.

Моя ответственность - не выходить за рамки правил форума. А я правил не нарушал.
Все, что явно не запрещено - разрешено. Поэтому, вы можете меня попросить, но не требовать.

0
easybudda
Модератор
Эксперт CЭксперт С++
9912 / 5835 / 975
Регистрация: 25.07.2009
Сообщений: 11,004
07.07.2011, 19:46 #29
zuq, отзовитесь, получили ли Вы ответ на свой вопрос. Если да, почищу тему и закрою, чтобы флуд не разводить.

Не по теме:


Цитата Сообщение от co6ak Посмотреть сообщение
слова "пост", "юзать", "ТС" и много чего разрешены
Коль скоро эти слова вошли в обиход и понятны читающим, никакой реакции со стороны модераторов не вызывают. Мне к примеру слово "юзать" слух режет не меньше, но это уже мои трудности и придираться к подобным словам было бы лишним. Когда же автор пишет
Цитата Сообщение от Bers Посмотреть сообщение
Больше нафег ничо не нада.
это либо сознательное коверканье слов, либо элементарная безграмотность.
Цитата Сообщение от Bers Посмотреть сообщение
я не собираюсь менять свой диалект на "грамматически правильный рус. яз." только потому, что кому то это режет глаза.
Ну а если на ваши сообщения на "падонкафском" диалекте станут уголовной феней отвечать? Есть нормы общения, и нарушать их без каких-либо последствий не получится.

1
Bers
Заблокирован
07.07.2011, 20:08 #30
Цитата Сообщение от easybudda Посмотреть сообщение
это либо сознательное коверканье слов, либо элементарная безграмотность.
Либо диалект.

Цитата Сообщение от easybudda Посмотреть сообщение
Ну а если на ваши сообщения на "падонкафском" диалекте станут уголовной феней отвечать? Есть нормы общения, и нарушать их без каких-либо последствий не получится.
Есть правила. Я правил не нарушал.
А нормы общения - понятие туманное.

Добавлено через 3 минуты
/зы Я вам в личке ещё с утра ответ написал. Не надо в эту ветку мне ничего больше писать. Я полагаю, диалог завершен.
0
07.07.2011, 20:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2011, 20:08
Привет! Вот еще темы с ответами:

Непонятный код? - C++
Подскажите, что выполняется в следующем коде и каким образом? int main() { char buf; while ( cout << "> " && cin >>...

C++. Непонятный символ - C++
Что означает символ "&" в языке C++? Например, void move(int &a,int b) Можете дать ссылку на справку про синтаксис...

Непонятный typedef - C++
typedef int (*LPMYDLLFUNC)(int,int); после данного typedef, LPMYDLLFUNC используется как указатель на функцию, принимающую два...

Непонятный синтаксис. - C++
В VC 2010 вместо int main(int argc, char *argv) написано int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpcmdline,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.