Другие языки программирования и технологии
Как преобразовать тип string к типу int? C++
Имеется строка и переменная типа int. Нужно переменной типа int присвоить строку (string). Как это сделать? С++;
atoi
long int strtol( const char * string, char ** endptr, int basis ); // cstdlib
Описание
Функция strtol преобразовывает строку в long int. Анализируя строку string, strtol интерпретирует её содержимое в целое число типа long int.
Функция сначала отбрасывает символы пробелов до тех пор, пока не будет найден символ отличный от символа пробела. Затем, начиная с этого символа, функция принимает необязательный начальный знак плюс или минус. После чего, следует последовательность цифр, которая интерпретируется в числовое значение. И, наконец, устанавливается указатель endptr на первый символ, сразу после найденного числового значения.
Если значение basis равно нулю, ожидается распознавание целых чисел, которые формирует последовательность:
Необязательные знаки — плюс или минус
Возможный префикс, указывающий основание, восьмеричное или шестнадцатеричное («0″ или «0x» соответственно)
Последовательность десятичных цифр (если префикс указан в basis) или любая восьмеричная или шестнадцатеричной цифра, если определенный префикс присутствует в строке.
Если значение basis находится между 2 и 36, ожидаемый формат — целое число, представляемое собой последовательность действительных цифр и/или букв в указанном основании системы счисления (начиная от 0 до z / Z для системы счисления 36). В последовательности может присутствовать знак плюс или минус, и, если basis равно 16 — префикс 0x или 0X.
Если первая последовательность не-пробельных символов в строке string не является целым числом, или, если string пустая или содержит только пробельные символы, преобразование не выполняется.
Параметры:
string
Си-строка для выполнения преобразования.
endptr
Ссылка на объект типа char*, значение которой содержит адрес следующего символа в строке string, сразу после предыдущего найденного числа. Если этот параметр не используется, он должен быть нулевым указателем.
basis
Основание системы исчисления.
Возвращаемое значение
В случае успеха, функция возвращает целое число преобразованное к типу данных long int.
Если в строке не было найдено целое число, функция возвращает нулевое значение.
Если правильное значение выходит за диапазон принимаемых значений, возвращается LONG_MAX или LONG_MIN, и глобальная переменная ERRNO устанавливается в ERANGE
Описание
Функция strtol преобразовывает строку в long int. Анализируя строку string, strtol интерпретирует её содержимое в целое число типа long int.
Функция сначала отбрасывает символы пробелов до тех пор, пока не будет найден символ отличный от символа пробела. Затем, начиная с этого символа, функция принимает необязательный начальный знак плюс или минус. После чего, следует последовательность цифр, которая интерпретируется в числовое значение. И, наконец, устанавливается указатель endptr на первый символ, сразу после найденного числового значения.
Если значение basis равно нулю, ожидается распознавание целых чисел, которые формирует последовательность:
Необязательные знаки — плюс или минус
Возможный префикс, указывающий основание, восьмеричное или шестнадцатеричное («0″ или «0x» соответственно)
Последовательность десятичных цифр (если префикс указан в basis) или любая восьмеричная или шестнадцатеричной цифра, если определенный префикс присутствует в строке.
Если значение basis находится между 2 и 36, ожидаемый формат — целое число, представляемое собой последовательность действительных цифр и/или букв в указанном основании системы счисления (начиная от 0 до z / Z для системы счисления 36). В последовательности может присутствовать знак плюс или минус, и, если basis равно 16 — префикс 0x или 0X.
Если первая последовательность не-пробельных символов в строке string не является целым числом, или, если string пустая или содержит только пробельные символы, преобразование не выполняется.
Параметры:
string
Си-строка для выполнения преобразования.
endptr
Ссылка на объект типа char*, значение которой содержит адрес следующего символа в строке string, сразу после предыдущего найденного числа. Если этот параметр не используется, он должен быть нулевым указателем.
basis
Основание системы исчисления.
Возвращаемое значение
В случае успеха, функция возвращает целое число преобразованное к типу данных long int.
Если в строке не было найдено целое число, функция возвращает нулевое значение.
Если правильное значение выходит за диапазон принимаемых значений, возвращается LONG_MAX или LONG_MIN, и глобальная переменная ERRNO устанавливается в ERANGE
тут ещё
Похожие вопросы
- Как в Visual C++ 2008 express перевести тип int в string или char?
- C# почему когда создаю тип данных byte - он его автоматически преобразовывает в тип int?
- Как осуществить операцию сложения в с++ без операции присваивания ? int a=5; int b=6; int c=a+b; ( без "= ")
- Как на C++ создать массив типа int из стольких элиментов, что бы значение бралось из перемнно count ?
- Создать класс типа круг. C++
- Почему пишет : "Нельзя преобразовать тип function(a:real,b:real) real к real "
- Как инициализировать поля класса типа int из строки
- Как писать проги? Типа format c:
- C++ Про выбор типа данных. Int, char и т. д.
- C++ как переменную (signed int) разделить на старший и младший байт, а после записать в 2е другие переменные типа char?