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

Конвертация char * -> WideString - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где посмотреть исходники типа string http://www.cyberforum.ru/cpp-beginners/thread251442.html
Подскажите плиз где посмотреть исходники типа string. Тоесть интересует методы работы со строками, а точнее как они устроены. Допустим string.append, insert. И интересует как устроены стандартные...
C++ принадлежность точки прямоугольнику Задача: определить,принадлежит ли точка прямоугольнику. Заданы координаты точки и вершин прямоугольника. Прямоугольник может располагаться не параллельно осям координат. Почему-то при вычислении... http://www.cyberforum.ru/cpp-beginners/thread251431.html
Разработать процедуру или функцию, выполняющую заданную операцию над строками. Предусмотреть и описать реакцию на некорректное задание параметров. C++
Не использовать имеющиеся в языке средства обработки строк. Определить количество вхождений каждого из символов в строке s Имя процедуры/функции Numchar(s)
C++ MessageBox выводит иероглифы
MessageBox(NULL, reinterpret_cast<LPCTSTR>("Hello world"), reinterpret_cast<LPCTSTR>("windows"), MB_OK); Почему вместо строк Hello world и windows выводятся иероглифы и как от них избавится?...
C++ двоичные файлы http://www.cyberforum.ru/cpp-beginners/thread251405.html
Помогите, не могу сообразить как написать программу. Дан файл F, содержит сведения о датах рождения сотрудников(фамилия, число, месяц и год рождения). Найти всех сотрудников, у которых будет день...
C++ MIRACL библиотека для работы с большими числами У меня была готовая программа с консолью и ее исходники. Когда я переписывал ее под программу с формой появилась проблема. Дело в том, что в программе используется библиотека MIRACL. Там есть такой... подробнее

Показать сообщение отдельно
bigredcat
366 / 313 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
04.03.2011, 16:36
Цитата Сообщение от 4ance Посмотреть сообщение
Добавлено через 17 часов 50 минут
C++
1
2
3
4
5
6
7
8
9
void __fastcall TDataModule2::ADODataSet1CalcFields(TDataSet *DataSet)
{
   wchar_t **p3;
 
   **p3 = *wcstok( ADODataSet1FIO->Value, L" ");
   **p3 = *wcstok( NULL, L" ");
 
   ADODataSet1Name->Value = *p3;
}
А для чего вы так делатете?
wchar_t **p3 - указатель на указатель на wchar_t. Заметье, что вы не выделяли памяти для хранения собственно строки.
**p3 - попытка разыменования двойного указателя, т.е. хотите получить доступ к памяти массива символов, который вы не создавали, и записать туда массив *wcstok. Но массивы, в том числе и символьные, так не копируются.

Делайте так
C++
1
2
3
wchar_t * p3;
p3 = wcstok( ADODataSet1FIO->Value, L" ");
ADODataSet1Name->Value = p3;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru