Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Как CString преобразовать в const char *?

Автор: vdeny
Дата сообщения: 04.10.2006 04:17
Мой код упрощенно такой:

CIPAddressCtrl m_IPinfo;
CString ip = GetIpAddress(); //успешно получаю и сохраняю ip в CString ip
m_IPinfo.SetAddress(htonl(inet_addr(ip))); //error

Тут и получаю ошибку: error C2664: 'inet_addr' : cannot convert parameter 1 from 'CString' to 'const char *'
Но если написать так, то ошибки нет, и все работает:
m_IPinfo.SetAddress(htonl(inet_addr("127.0.0.1")));

Как мне преобразовать CString в const char *, чтобы VS не ругалась?

Добавлено:
Что за идиотизм – пару часов ломал голову над преобразованиями типов, а всего-то нужно было сменить кодировку в проекте с "Use Unicode Charater Set" на "No Set" и все заработало.
Автор: HANDLE
Дата сообщения: 10.10.2006 17:31
vdeny
Для преобразования char <--> UNICODE есть функции
WideCharToMultiByte(....)
MultiByteToWideChar(....)
Автор: Thritt
Дата сообщения: 16.10.2006 19:13
не знаю точно, но можно попробовать вот так:

CString str;
char* cstr = new char[512];
wchar_t* wstr = new wchar_t[512];
wstr = str.GetBuffer(str.GetLength());
CharToOem(wstr, cstr);

Страницы: 1

Предыдущая тема: Отправка record через Serversocket/ClientSocket в Delphi


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.