Здравствуйте, fest, Вы писали:
F>Здравствуйте, Аноним, Вы писали:
А>>Возможно ли стандартными средствами сконвертировать стринг, в котором содержится число в шестнадцатиричной системе исчисления в кодировке ASCII в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом ['1'],['0'],['D'],['F'] -> ->>> 4319 (int) А>>Спасибо.
long strtol( const char *nptr, char **endptr, int base );
strtol expects nptr to point to a string of the following form:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
A whitespace may consist of space and tab characters, which are ignored; digits are one or more decimal digits. The first character that does not fit this form stops the scan. If base is between 2 and 36, then it is used as the base of the number. If base is 0, the initial characters of the string pointed to by nptr are used to determine the base. If the first character is 0 and the second character is not 'x' or 'X', the string is interpreted as an octal integer; otherwise, it is interpreted as a decimal number. If the first character is '0' and the second character is 'x' or 'X', the string is interpreted as a hexadecimal integer. If the first character is '1' through '9', the string is interpreted as a decimal integer. The letters 'a' through 'z' (or 'A' through 'Z') are assigned the values 10 through 35; only letters whose assigned values are less than base are permitted.
wrote:
> Возможно ли стандартными средствами сконвертировать стринг, в котором > содержится число в шестнадцатиричной системе исчисления в кодировке ASCII > в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом > ['1'],['0'],['D'],['F'] -> -> 4319 (int) Спасибо.
Это правда нестандартными, потому что Boost.spirit не стандарт, но
достаточно интересно
--
Александр Насонов,
Независимый консультант и разработчик ПО
Posted via RSDN NNTP Server 1.8 beta
Конвертация стринга
От:
Аноним
Дата:
06.04.04 13:48
Оценка:
Возможно ли стандартными средствами сконвертировать стринг, в котором содержится число в шестнадцатиричной системе исчисления в кодировке ASCII в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом ['1'],['0'],['D'],['F'] -> -> 4319 (int)
Спасибо.
Здравствуйте, Аноним, Вы писали:
А>Возможно ли стандартными средствами сконвертировать стринг, в котором содержится число в шестнадцатиричной системе исчисления в кодировке ASCII в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом ['1'],['0'],['D'],['F'] -> ->> 4319 (int) А>Спасибо.
Смотри в сторону строковых потоков.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Аноним, Вы писали:
А>Возможно ли стандартными средствами сконвертировать стринг, в котором содержится число в шестнадцатиричной системе исчисления в кодировке ASCII в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом ['1'],['0'],['D'],['F'] -> ->> 4319 (int) А>Спасибо.
/************** function *******************/
unsigned int HexToDec(CString tmpHexadecimal, bool *flag)
{
// funktionslokale Variablen
char hextab[17] = "0123456789ABCDEF";
int i,j;
unsigned int nDezimal = 0;
> Возможно ли стандартными средствами сконвертировать стринг, в котором содержится число в шестнадцатиричной системе исчисления в кодировке ASCII в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом ['1'],['0'],['D'],['F'] -> > -> 4319 (int)
Если на скорую руку, то так:
#include <string>
#include <sstream>
int main()
{
int n;
std::string s1("10DF");
std::stringstream(s1) >> std::hex >> n;
}
Здравствуйте, Аноним, Вы писали:
А>Возможно ли стандартными средствами сконвертировать стринг, в котором содержится число в шестнадцатиричной системе исчисления в кодировке ASCII в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом ['1'],['0'],['D'],['F'] -> ->> 4319 (int) А>Спасибо.
А че, sscanf() не катит?
Re: Конвертация стринга
От:
Аноним
Дата:
07.04.04 06:59
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Возможно ли стандартными средствами сконвертировать стринг, в котором содержится число в шестнадцатиричной системе исчисления в кодировке ASCII в тип int? Что-то подобное atoi(), работающее ,например, с таким стрингом ['1'],['0'],['D'],['F'] -> ->> 4319 (int) А>Спасибо.
Convert strings to a long-integer value.
long strtol(
const char *nptr,
char **endptr,
int base
);
long wcstol(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
Parameters
nptr
Null-terminated string to convert.
endptr
Pointer to character that stops scan.
base
Number base to use.