Mr. Deeds Опубликовано 10 марта, 2011 Жалоба Поделиться Опубликовано 10 марта, 2011 вобщем имеется:unsigned char qq;string stroka;мне надо использовать функцию c переменной stroka, но эта функция работает с переменными типа unsigned char.бьюсь уже целый день, гуглю как ковертировать из unsigned char в string, ниче путного найти не могуто ли дело в делфи, strtoint, strtochar и т.д. и т.п. =)помогите пожалуйста Ссылка на комментарий
jc12 Опубликовано 11 марта, 2011 Жалоба Поделиться Опубликовано 11 марта, 2011 как ковертировать из unsigned char в stringМожно такqq= new(char);strcpy(qq,stroka.c_str());или такchar *qq = new char[strlen(stroka.c_str()) + 1];strcpy(qq,stroka.c_str());Второй случай надёжней, так как предусматривает защиту от ошибок переполнения буфера (запись за пределы выделенной памяти) при передачи параметров в функцию. Ссылка на комментарий
superman Опубликовано 11 марта, 2011 Жалоба Поделиться Опубликовано 11 марта, 2011 qq - это просто один символ?Строку можешь вот так из него создать:string(1, qq) Ссылка на комментарий
Mr. Deeds Опубликовано 11 марта, 2011 Автор Жалоба Поделиться Опубликовано 11 марта, 2011 спасибо большое, работает!!!но оказалось еще проще, там была функция, специ предусмотренная для таких случаевUTIL_ToUInt16(stroka) Ссылка на комментарий
Mr. Deeds Опубликовано 22 марта, 2011 Автор Жалоба Поделиться Опубликовано 22 марта, 2011 вот на delphi я нашел такую вещьvar rcvrdata: TMemoryStream; idHttp1: TidHttp;begin idHttp1 := TidHttp.Create(nil); rcvrdata := TMemoryStream.Create; idHttp1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)'; idHttp1.Request.AcceptLanguage := 'ru'; idHttp1.Response.KeepAlive := true; idHttp1.HandleRedirects := true; try //idHttp1.Get(Edit1.Text, rcvrdata); edit1.Text:= idHttp1.Get('http://www.whatismyip.com/automation/n09230945.asp'); finally idHttp1.Free; end;с помощью этой процедуры можно узнать свой внешний ip...вот на с++ надо такое же сделать, не могу найти компоненту idhttp. в delphi она была на вкладке indy по-моему, а тут не могу найти... Ссылка на комментарий
NAT Опубликовано 22 марта, 2011 Жалоба Поделиться Опубликовано 22 марта, 2011 Mr. Deedsдля C++ Builderhttp://www.cyberforum.ru/cpp-builder/thread181632.htmlесли через winapi, то создаёшь сокет, формируешь запрос на вебсайт и парсиш ответ регуляркамиили вот сайт без всякого мусора, выдаёт только ИП http://www.whatismyip.com/automation/n09230945.aspхотя хз, я в этом не разбираюсь Ссылка на комментарий
Mr. Deeds Опубликовано 22 марта, 2011 Автор Жалоба Поделиться Опубликовано 22 марта, 2011 NAT спасибо, да только я видел уже это ((вобщем суть проблемы, на delphi я описал вот такую процедуруprocedure TForm1.Button1Click(Sender: TObject);var rcvrdata: TMemoryStream; idHttp1: TidHttp;begin idHttp1 := TidHttp.Create(nil); rcvrdata := TMemoryStream.Create; idHttp1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)'; idHttp1.Request.AcceptLanguage := 'ru'; idHttp1.Response.KeepAlive := true; idHttp1.HandleRedirects := true; try //idHttp1.Get(Edit1.Text, rcvrdata); edit1.Text:= idHttp1.Get('http://www.whatismyip.com/automation/n09230945.asp'); finally idHttp1.Free; end; reestr:=TRegistry.Create; //HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\{6C3C32E9-AC71-404D-83F4-99E01EBFB7D7} reestr.RootKey:=HKEY_LOCAL_MACHINE; reestr.OpenKey('\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\{6C3C32E9-AC71-404D-83F4-99E01EBFB7D7}',false); reestr.WriteString('IPAddress',edit1.Text); reestr.CloseKey; reestr.Free;end;что хотел сделать:1. узнаем наш внешний ip2. вставляем это значение в ключ реестрапроблемы:1. ключ реестра типа reg_Multi_sz, вобщем мультистроковый, а значение которое хочу воткнуть просто строковое2. так и не разобрался как конвертировать строковое в мультистроковоеподумал что на с++ что-нибудь получится... Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти