Функция 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 и многому другому, см. Полный курс подготовки к собеседованию .
C++