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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
dqrest
2 / 2 / 0
Регистрация: 06.01.2012
Сообщений: 114
#1

как преобразовать из TCHAR[] в char[], при получении строки из чужого окна - C++

14.05.2012, 11:36. Просмотров 1725. Ответов 0
Метки нет (Все метки)

Есть некоторое непонимание преобразования из unicode в ascii.Есть чужое окно, нужно из этого окна получить содержимое статусбара(время, которое постоянно обновляется). И это время+свои данные нужно записать в БД(mysql). Прога пишется на MS VS 2010. ПРоект построен с использованием набора символов Юникода, т.е. (свойства проета-->свойства конфигурации --> общие-->набор символов)Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
bool flag_error=false;
char str_time[30];
HWND TimehWnd;
TimehWnd = FindWindow(L"InfoClass", NULL);
TimehWnd=FindWindowEx(TimehWnd,NULL,L"msctls_statusbar32",NULL);
if(IsWindow(TimehWnd))
{
   TCHAR s[30]; 
   SendMessage(TimehWnd,WM_GETTEXT,29,(LPARAM)s);       
   CharToOem(s,str_time);
   puts(str_time);
   flag_error=true;
}
if(flag_error==true)
{
/// обработка своих данных и заносим в бд
}
else
{
//на всякий случай, если как не получили время, то берем свое системное время
}


Так вот, пробелема возникает в CharToOem выскакивает DeBugger и ругается, что память в str_time переполнилась. В чем проблема???? И нельзя ли как-нить в SendMessage засунусть QString, чтобы выделением памяти не напрягаться и легко переходить из юникод в аскии и наоборот???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 11:36     как преобразовать из TCHAR[] в char[], при получении строки из чужого окна
Посмотрите здесь:

Как перевести TCHAR в CHAR и обратно - C++
Как преобразовать TCHAR в CHAR и обратно? Функцию какую-нибудь подскажите, а то с числами обход нашёл через int, а вот с символами никак

Char, TCHAR, wchar_t - C++
Как правильно записать эти 2 участка кода . Ошибки - 1>d:\c++\lab1\lab1\main.cpp(54): error C2664: strcpy: невозможно преобразовать...

Как узнать длину строки TCHAR? - C++
Как узнать длину строки? TCHAR szText = _T(""); Добавлено через 1 минуту 1 IntelliSense: идентификатор "_tsclen" не...

Преобразовать string в TCHAR - C++
Подскажите пожалуйста в чем ошибка. Нужно преобразовать string -> TCHAR взял из поста string to TCHAR выдает ошибку d:\program...

Как преобразовать char в string - C++
Есть массив char buffer; есть переменная string X; как присвоить значение X допустим такое X=buffer+buffer;

Как преобразовать LPCWSTR в char*? - C++
Здравствуйте! Как преобразовать LPCWSTR в char*?

Как преобразовать int в char? - C++
Прошу подсказать, как же все-таки преобразовывать int в char?

Как преобразовать string в char*? - C++
Как преобразовать string в char* и отправить как аргумент наименьшими усилиями? #include <iostream> #include <string> using...

Как int преобразовать в char? - C++
простите за глупый вопрос)) но у меня есть какое нибудь int x=1234 к примеру, как преобразовать это число в char s="1234"

Как преобразовать Int в char*? - C++
Доброго времени суток. У меня есть переменная int, в которой однозначное число, как его преобразовать в char*?

Как преобразовать int в char - C++
Подскажите пожалуйста как преобразовать int в char Есть код к примеру: #include<iostream> using namespace std; int main(){ ...

Как преобразовать long double в char[]? - C++
Приветствую. Подскажите пожалуйста, как преобразовать long double в в тип char? До указателей по книге еще не дошел, в интернете пытался...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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