Запутался в типах строк - C (СИ)

Формулировка задачи:

чем отличаются все эти PCHAR, wchar_t, LPCSTR, LPCWSTR, LPCTSTR? вроде я понял только что у всех кроме PCHAR есть нуль-байт в конце, но чем они между собой отличаются? просто так их преобразовать не удается написал вот такую функцию преобразования PCHAR в wchar_t, думаю вот еще для остальных типов преобразования написать...
wchar_t PCHARTowchar_t(PCHAR str)
{
    int len = strlen(str) + 1;
    wchar_t *tmp = (wchar_t*) calloc(len, sizeof(wchar_t));
    mbstowcs(tmp, str, len);
    return tmp;
}
Добавлено через 4 минуты з.ы. а может и вовсе для приведения надо писать что то типа __nullterminated

Код к задаче: «Запутался в типах строк - C (СИ)»

textual
// WinUser.h
 
#ifdef UNICODE
#define MessageBox MessageBoxW
#else
#define MessageBox MessageBoxA
#endif // !UNICODE

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

11   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ