Функция strtoul () в C / C ++
Опубликовано: 30 Декабря, 2021
Функция strtoul () в C / C ++, которая преобразует начальную часть строки в str в значение типа long int без знака в соответствии с заданным основанием, которое должно быть от 2 до 36 включительно, или быть специальным значением 0. Эта функция отбрасывает любые пробельные символы до тех пор, пока не будет найден первый непробельный символ, затем берет как можно больше символов для формирования действительного представления целого числа без знака без знака и преобразует их в целочисленное значение.
Синтаксис:
беззнаковое длинное int strtoul (const char * str, char ** end, int base)
Параметр: функция принимает три обязательных параметра, которые описаны ниже:
- str: указатель на строку байтов с завершающим нулем для интерпретации
- конец: указатель на указатель на символ (ссылка на объект типа char *)
- base: База интерпретируемого целочисленного значения
Возвращаемое значение: функция возвращает два значения, как показано ниже:
- В случае успеха он возвращает целочисленное значение, соответствующее содержимому str.
- Если действительное преобразование не выполнено, возвращается 0.
Нижеприведенные программы иллюстрируют вышеуказанную функцию:
Программа 1:
C ++
// C++ program to illustrate the // strtoul() function #include <bits/stdc++.h> using namespace std; int main() { // initiaizing the string char str[256] = "90600 Geeks For Geeks" ; // reference pointer char * end; long result; // finding the unsigned long // integer with base 36 result = strtoul (str, &end, 36); // printing the unsigned number cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end; return 0; } |
Выход:
Длинное целое число без знака: 15124320 Строка в строке: "Гики для гиков"
Программа 2:
C ++
// C++ program to illustrate the // strtoul() function with // different bases #include <bits/stdc++.h> using namespace std; int main() { // initiaizing the string char str[256] = "12345 GFG" ; // reference pointer char * end; long result; // finding the unsigned long integer // with base 36 result = strtoul (str, &end, 0); cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end << endl; // finding the unsigned long integer // with base 12 result = strtoul (str, &end, 12); cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end << endl; // finding the unsigned long integer // with base 30 result = strtoul (str, &end, 30); cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end << endl; return 0; } |
Выход:
Длинное целое число без знака: 12345 Строка в str: GFG Длинное целое число без знака: 24677 Строка в str: GFG Длинное целое число без знака: 866825 Строка в str: GFG
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .