|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Проблема с конвертацией строк на С++ |
|
Проблема с конвертацией строк на С++
|
Новый участник Сообщения: 29 |
Привет всем!
Есть такой блок: char* ts = new char[100]; memset(ts, 0, sizeof(ts)); StrPCopy(ts, edMyText->Text); // здесь ts имеет правильное значение "T-XP1" LPWSTR ss = (LPWSTR)ts; // здесь ss имеет значение "\x2D54\x50581" Обьясните, плиз, в чем дело? Почему ss не равно "T-XP1"? |
|
Отправлено: 15:25, 15-02-2005 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Спасибо.
Кстати, hasherfrog, подскажите: использование функции memset является хорошим способом инициализации пустых строк при создании и повторном использовании? Или принято это делать как-то иначе? |
Отправлено: 17:19, 20-02-2005 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Черт возьми, не думал, что придется вернуться к этой теме.
Есть: //структура: struct PS { ... String str; ... }; //переменная ее типа PS cs; //и текст char* ArcFile = new char[200]; memset(ArcFile, 0, sizeof(char)*200); StrPCopy(ArcFile, cs.str); хоть убейте, но не пойму, почему ArcFile остается пустым ![]() подставляю любую другую переменную типа AnsiString - на ура идет. менял еще всяко этот код - ничего не понимаю. ногами не бейте, а лучше подскажите, плиз. |
Отправлено: 00:04, 25-02-2005 | #12 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать >> подставляю любую другую переменную типа AnsiString
Куда? куда подставляете? Что "всё" при этом идёт? Kelasant, вы не торопитесь, давайте не спеша, поподробнее. Вы перечитайте свой пост - сами смогли бы понять вопрос? ПС. И кстати, вы как-то странно всё-таки работаете со строками... Мммм, "небезопасно", я бы так сказал. Откуда Вы, например, знаете, что длина cs.str меньше 200 байт? Ну это мелочи, конечно, но как-то не есть хорошо. |
Отправлено: 01:44, 25-02-2005 | #13 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Вероятно, эмоции помешали более внятно изложить вопрос.
Значит так: есть такая структура (описанная в Types.h) и переменная ее типа (в Variables.h). Например, в Settings.cpp #include "Settings.h" #include "Variables.h" использование edPath->Text = cs.str; и cs.str = edPath->Text; работает отлично. В определенный момент времени я хочу прочитать значение из поля структуры и преобразовать в null-terminated строку. Это будет делаться в IForm.cpp: #include "IForm.h" #include "Variables.h" ... char* ArcFile = new char[200]; memset(ArcFile, 0, sizeof(char)*200); StrPCopy(ArcFile, cs.str); В cs.str лежит красивая правильная строчка - видно дебагером (это все на Builder C++). После StrPCopy переменная ArcCopy по прежнему указывает на область, заполенную нулями. Но случайно пробовал сделать промежуточное присвоение - даже не присваивается! Вариант 1: String tmp = cs.str; Вариант 2: edMyTEdit->Text = cs.str; - один фиг, все пустое. В одной форме присваивается, в другой нет ![]() Ощущаю себя полным профаном ![]() Может, есть какие-то особенности обращения со структурами? З.Ы. замечание принимаю. Конечно же, надо проверять длину строки, как и многое другое. |
Отправлено: 16:19, 25-02-2005 | #14 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Группировка строк в экселе | pva | Программирование и базы данных | 6 | 16-04-2009 12:41 | |
Разное - количество строк WinXP | Abracadabra | Хочу все знать | 7 | 11-02-2008 23:05 | |
Сравнение строк в PHP | Dutchman Mihel | Вебмастеру | 8 | 06-07-2004 13:04 | |
Проблема с конвертацией закладок Opera 7.0 в IE 6.0 | AlexCom | Хочу все знать | 1 | 27-06-2004 21:31 | |
Проблема с конвертацией музыкальных CD в формат mp3 | Meister | Непонятные проблемы с Железом | 11 | 18-08-2002 02:59 |
|