O que é strtol () função em c++
O strtol () A função é uma função interna em C ++ que converte uma string em um valor inteiro longo. Ele aceita uma string como dados e o transforma em um valor inteiro com a base especificada. Além disso, o método retorna um link ou ponteiro para o caractere incorreto inicial dentro da string.
Sintaxe da função strtol ()
A sintaxe do strtol () A função em C ++ é a seguinte:
strtol (s, & end, base)
Parâmetros da função strtol ()
O strtol () A função tem três parâmetros:
Retornar tipo de função strtol ()
O strtol () Função retorna um valor inteiro longo que é convertido da sequência de entrada. Se não ocorrer uma conversão, ele retornará 0.
Arquivo de cabeçalho em c ++ para usar a função strtol () em c++
Antes de usar o strtol () função no seu código C ++, você precisa definir o #incluir arquivo de cabeçalho.
Exemplos de função strtol () em c++
A seguir, alguns exemplos de uso strtol () função em c++.
Exemplo 1: Programa para converter uma string em números inteiros longos usando base decimal
Com strtol () função, é muito simples converter uma string em um número inteiro longo usando a base decimal. O código de C ++ necessário nessa situação é mostrado abaixo.
#incluir
#incluir
usando namespace std;
int main ()
char str [] = "12345678";
char* endptr;
long num = strtol (str, & endptr, 10);
if (endptr == str)
cout<<"Invalid input"<outro
cout<<"The number is: "<
retornar 0;
O programa acima declara uma matriz de caracteres chamada str, que contém a string “12345678”. Um ponteiro chamado endptr é usado para armazenar o endereço do primeiro caractere na string que não faz parte do número convertido. O strtol () A função é então chamada, com o argumento STR, & endptr e 10. O primeiro argumento é a sequência a ser convertida, o segundo argumento é o endereço do ponteiro que será atualizado com a posição final da string, e o terceiro argumento é a base para a conversão, que é decimal neste caso.
O programa então verifica se o endptr é igual ao início da corda. Se for, significa que a conversão não foi bem -sucedida e uma mensagem de erro é impressa. Caso contrário, o programa imprime o número convertido.
Saída
Exemplo 2: Programa para converter strings em números inteiros longos com 0 bases
Se definirmos o argumento base do strtol () Função para 0, a função detectará automaticamente a base da sequência de entrada. Isso facilita a conversão de seqüências de bases diferentes sem ter que especificar explicitamente a base. Por exemplo, se a string começar com "0x", É automaticamente detectado como um número hexadecimal.
Usando o strtol () Função para converter strings em números inteiros longos com 0 bases, podemos garantir que a sequência de entrada seja válida e possa ser adequadamente convertida em um número inteiro longo. Isso pode ser útil em muitos tipos de implementações, como ler valores numéricos da entrada do usuário ou analisar informações de documentos de texto.
O programa dado abaixo está bem de acordo com a situação anteriormente declarada.
#incluir
#incluir
usando namespace std;
int main ()
char str [] = "0XA0B0C0";
char* endptr;
long num = strtol (str, & endptr, 0);
if (endptr == str)
cout<<"Invalid input"<outro
cout<<"The number is: "<
retornar 0;
O programa acima declara uma matriz de personagens nomeada str, que contém a string “0XA0B0C0”. O '0x' Prefixo indica que a string está em formato hexadecimal. Um ponteiro chamado endptr também é declarado, que será usado para armazenar o endereço do primeiro caractere na string que não faz parte do número convertido. O strtol () A função é então chamada, com o argumento STR, & endptr e 0. A base para a conversão, que é definida como 0 detecta automaticamente a base da sequência de entrada.
O programa então verifica se o endptr é igual ao início da corda. Se for, significa que a conversão não foi bem -sucedida e uma mensagem de erro é impressa. Caso contrário, o programa imprime o número convertido.
Saída
Conclusão
Em c++, strtol () A função é usada para a conversão de uma string em um valor inteiro longo. Seguindo as diretrizes acima, você poderá aprender o uso de strtol () Função em C ++, pois você encontrará exemplos diferentes que o ajudarão a entender o básico desta função.