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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2013, 21:03   #31
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Ещё я впервые столкнулся с таким типом как LPSTR. Нужно преобразовать его в char. Это возможно?
x_Alex_x вне форума Ответить с цитированием
Старый 03.04.2013, 22:02   #32
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

LPSTR это если не ошибаюсь *char.
Для чего его преобразовывать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.04.2013, 23:08   #33
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Значит можно использовать функции обработки обычных строк?
А чем char и *char отличаются?
Stilet, не поможете написать код для добавления структуры к окну? Подробнее на прошлых страницах. Я плохо разбираюсь в указателях и в winapi мало что понимаю поэтому прошу объяснять попроще)

Последний раз редактировалось x_Alex_x; 03.04.2013 в 23:32.
x_Alex_x вне форума Ответить с цитированием
Старый 03.04.2013, 23:35   #34
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Сразу скажу что в С++ новичок. в модуле winnt.h тип LPSTR описан так:
typedef char* LPSTR;. Таким образом char* и LPSTR равнозначны.
сhar и char* отличаются тем, что char - \nj символ в формате ANSI или число от 0 до 255, занимающее 1 байт, а char* - это указатель на строку в формате ANSI, занимающий, как и все указатели, 4 байта.
Если не верите, напишите :
Код:
cout<< sizeof(char)<<" ; "<<sizeof(char*);
Цитата:
Ещё я впервые столкнулся с таким типом как LPSTR. Нужно преобразовать его в char. Это возможно?
Именно в char, а не в char*?
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 04.04.2013, 10:57   #35
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Цитата:
Именно в char, а не в char*?
Наверное уже не надо. Только подскажите функцию для копирования символов из строки (не с начала) или для удаления символов с начала строки. чтобы можно было из LPSTR строки заполнить массив.
x_Alex_x вне форума Ответить с цитированием
Старый 04.04.2013, 12:22   #36
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
не поможете написать код для добавления структуры к окну?
Я не спец по Винапи и Си... Так тока, любитель...
Цитата:
подскажите функцию для копирования символов из строки
strcpy() знаю. Просто передать ей указатель на определенный символ и должна скопировать
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.04.2013, 17:15   #37
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Цитата:
Я не спец
"Сообщений: 32,544" сразу и не скажешь)
x_Alex_x вне форума Ответить с цитированием
Старый 04.04.2013, 18:13   #38
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
"Сообщений: 32,544"
Это не показатель.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.04.2013, 12:20   #39
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Вот теперь работает без ошибки:
Имеется всё та же структура
Код:
struct Struct{
    HWND Handle;
    LPSTR FileAdress;
    LPSTR Stroka;
};
далее при создании нового окна:
Код:
Struct mystruct;
struct Struct* ptr;
ptr=(struct Struct*) malloc(sizeof(mystruct));
SetWindowLongPtr(hChild, GWLP_USERDATA, LPARAM(ptr));
Я до сих пор не понимаю что тут происходит.
В первой строчке объявляется структура mystruct типа Struct.
Во второй вроде бы создаётся указатель ptr типа Struct.
В третьей указателю присваивается адрес первого байта свободной памяти, размером mystruct(под созданную структуру)
А в последней структура mystruct, через указатель ptr привязывается к созданному окну hChild.

Проверьте пожалуйста правильно я сделал или нет?
x_Alex_x вне форума Ответить с цитированием
Старый 05.04.2013, 15:57   #40
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Первая строчка не нужна
waleri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinApi и С/С++ разные вещи Sylar9 Общие вопросы C/C++ 2 27.03.2012 23:41
завернуть флеш в учу оболочку gufon Общие вопросы Delphi 3 20.07.2011 07:13
учу borland С++ builder 6 Dazzl C++ Builder 3 13.05.2011 18:01
Учу Си++ под Linux, необходима помощь prog16 Свободное общение 12 09.08.2009 15:15
Разные вопросы о Delphi Enko Помощь студентам 21 10.09.2007 05:54