Вопрос № 27592: Народ, подскажите пожалуйста, где можно скачать исходники FTP клиента для Windows на языке С++....Вопрос № 27618: Прошу F1! Пишу на C++ Builder 6
Подскажите пожалуйста как мне переменную String перевести в int ?
У меня есть переменная
String a="A97F1";
Тоесть она местит в себе число 16-ти ричной системы (Hex).
Как мне ето число зде...
Вопрос № 27.592
Народ, подскажите пожалуйста, где можно скачать исходники FTP клиента для Windows на языке С++.
Отвечает: azat
Здравствуйте, Рязанов Максим Валерьевич!
http://sources.ru/cpp/cpp_network.shtml#2
Ответ отправил: azat (статус: 4-ый класс)
Отправлен: 12.10.2005, 16:03
Отвечает: Jadd
Здравствуйте, Рязанов Максим Валерьевич!
MSDN, codeproject.com, codeguru.com Поищи тут.
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Практикант)
Отправлен: 12.10.2005, 16:43
Отвечает: Sager
Здравствуйте, Рязанов Максим Валерьевич!
Да на любом сайте исходников:
http://sources.ru
http://sourceforge.net
http://www.planet-source-code.com/
http://sources.codenet.ru/
Ответ отправил: Sager (статус: 9-ый класс)
Отправлен: 12.10.2005, 16:45
Отвечает: Bob Johnson
Здравствуйте, Рязанов Максим Валерьевич!
Если тебе просто нужно скачать файл с FTP сервера в своей программе, воспользуйся функциями InternetOpenUrl и т.п.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 12.10.2005, 23:23
Вопрос № 27.618
Прошу F1! Пишу на C++ Builder 6
Подскажите пожалуйста как мне переменную String перевести в int ?
У меня есть переменная
String a="A97F1";
Тоесть она местит в себе число 16-ти ричной системы (Hex).
Как мне ето число зделать 10-ти ричным тоесть чтобы а было "694257"
Или была переменная
int b = 694257;
Тоесть мне надо число с Hex перевести в Dec, а получаю я ето число в виде переменной String
Отправлен: 12.10.2005, 23:42
Вопрос задал: Etenity (статус: 6-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Jadd
Здравствуйте, Etenity!
Хз. Есть функция в дельфях HexToBin. Она переводит из 16-ричной в двоичную систему. Если посмотреть как она реализована, то ясно, что подобное можно самому написать. Вот тело этой функции:
function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer; assembler;
const
Convert: array['0'..'f'] of SmallInt =
( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,-1,-1,-1,-1,-1,-1,
-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,10,11,12,13,14,15);
var
I: Integer;
begin
I := BufSize;
while I > 0 do
begin
if not (Text[0] in ['0'..'f']) or not (Text[1] in ['0'..'f']) then Break;
Buffer[0] := Char((Convert[Text[0]] shl 4) + Convert[Text[1]]);
Inc(Buffer);
Inc(Text, 2);
Dec(I);
end;
Result := BufSize - I;
end;
Ну а написать конвертер из двоичной в десятичную (смотри мой ответ на подобный вопрос) или из 16-ричной в десятичную - по аналогии - не представляется сложным.
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Практикант)
Отправлен: 13.10.2005, 09:16 Оценка за ответ: 4
Отвечает: Boriss
Здравствуйте, Etenity!
Конечно, можно и так, Jadd написал, но зачем так мудренно. Прощее воспользоваться тем, что это тоже позиционная система записи и в данном случае
умножаешь 1*1 + 15*16 + 7*16*16 ...
НО! РОБЯТА!!! Это ж С - учите С!!
Там есть функция strtol - коя конвертирует строку в целочисленную и ЕЙ ТРЕТИЙ ПАРАМАТР = БАЗА
Приложение:
--------- Прорвемся! (Быть может :(( )
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 13.10.2005, 16:05 Оценка за ответ: 4