Программирование >>  Элементы языков с и с++ 

1 ... 185 186 187 [ 188 ] 189 190 191 ... 200


Преобразование в тип char

П wchar t В char Пример:

/♦Осуществляется с помощью функции

errno t wcstoitibs s (size t *pConvertedChars, Здесь будет

количество конвертированных символов char *inbstr, Адрес последовательности

отконвертированных символов size t sizelnBytes, Размер буфера для конвертируемых символов const wchar t *wcstr, конвертируемая строка

size t count) Максимальная длина выходной строки или TRUNCATE тип size t - это результат sizeofО, которая вычисляет

длину объекта

int BUFFER SIZE=100; size t i;

wchar t *lnp = L Hellow to All ;

char *Out = (char *)maiioc( BUFFER SIZE );

Conversion

wcstombs s(Si, Out, (size t)BUFFER SIZE, Inp, (size t)BUFFER SIZE ); Результат: rez = Hellow to All . □ string В char

Предварительно надо подключить пространство имен std и li-файлы:

(tinclude <string.h> (tinclude <stdlib.h>

Пример:

Convert string to a char* string 1пр= Привет ; const size t newsize = 100; char Out[newsize] ; strcpy s(Out, Inp.c str0);



Преобразование в тип wcharjt

□ char В wchar

Пример:

char to a wchar t char *Inp = Hello, World! ; Convert from char* to a wchar t* size t origsize = strlen(Inp) + 1; const size t newsize = 100; size t 1=0; wchar t Out[newsize];

mbstowcs s(&i. Out, origsize, Inp, TRUNCATE);

Результат: Out = Hello, world! .

□ string В wchar t Пример:

Convert from string to a wchar t*

Сначала надо перевести string в char, a потом применить char to a wchar t

string Inp = Hello, World! ;

const size t newsize = 100;

size t Inp size = strlen(Inp.c str()) + 1;

size t 1=0;

wchar t Out[newsize];

mbstowcs s(Si, Out, Inp size, Inp.c str(), TRUNCATE) ; Результат: Out = Hello, world! .

П string В char Пример:

Convert String to a char*

String Inp = gcnew String ( Hello, World! );

pin ptr<const wchar t> wch = PtrToStringChars(Inp); size t Inp size = wcslen(wch) + 1; вычисление длины const size t newsize = 100; size t 1=0; char Out[newsize];

wcstombs s(Si, Out, Inp size, wch, TRUNCATE); this->textBoxl->Text=gcnew String(Out);

Результат: Out = Hello, world! .



П string В wchar t

Предварительно надо подключить пространство имен std и li-файлы:

Jtinclude vcclr.h

Пример:

iinclude stdlib.h String - Inp = gcnew String ( Hello, World! ); pin ptr<const wchar t> wch = PtrToStringChars(Inp); const size t newsize = 100; Convert to a wchar t* wchar t Out[newsize]; wcscpy s(Out, wch);

Результат: Out = Hello, World! . Пояснение:

Метод PtrToStringChars (Inp) выдает внутренний указатель на первый символ строки типа string. Этот указатель может либо изменяться напрямую, либо закрепляться внутри выделенной памяти для передачи функции, которая станет выдавать обычную wchar t-строку. В нашем случае указатель будет передаваться функции wcscpys и поэтому должен быть закреплен (т. е. иметь тип pin ptr, который как раз и объявляет так называемый указатель закрепления ). Это внутренний указатель, не допускающий, чтобы объект переместился за пределы выделенного ему объема памяти.



1 ... 185 186 187 [ 188 ] 189 190 191 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика