C ++ é uma das linguagens de programação mais populares e mais antigas usadas para o desenvolvimento de aplicativos de alto desempenho. É usado entre programadores altamente especialistas e desenvolvedores iniciantes. É usado principalmente no desenvolvimento de jogos e é uma opção ideal para o desenvolvimento de sistemas operacionais. Ao escrever código na linguagem C ++, você pode encontrar dados de conversão de um tipo para outro. Neste artigo, você aprenderá a converter uma string em um número inteiro longo. É bastante difícil converter uma string em qualquer outro formato. No entanto, a linguagem de programação C ++ fornece uma maneira rápida e eficiente de converter strings em números inteiros.
Stol Função em C++
O STOL é uma função interna C ++ fornecida na biblioteca STD. Ele converte strings em números inteiros longos. Ele converte o conteúdo da string em um número inteiro da base especificada e retorna um valor inteiro longo. São necessários três parâmetros, um é a sequência de entrada, o segundo é o parâmetro de objeto e o terceiro é a base numérica. A sintaxe da função STOL é dada abaixo, dê uma olhada:
A função Stol leva três parâmetros: input_string, tamanho e base. O "input_string" representa a sequência de entrada que precisa ser convertida em um número inteiro longo.
O parâmetro "tamanho" representa o objeto do tipo size_t que carrega a próxima posição do caractere na sequência de entrada após o valor numérico. Pode ser um ponteiro nulo se não for necessário usar.
O terceiro parâmetro, o parâmetro "base" representa a base na qual a string precisa ser interpretada. Por exemplo, se a base "2" for dada, a string será interpretada como o número 2 da base inteira 2. O valor padrão do parâmetro base é 10 e se 0 for fornecido, o valor base será determinado pelo formato na sequência. A função Stol retorna o número inteiro longo, representando o valor int de uma determinada string.
Agora, vamos explorar alguns exemplos para entender como a função Stol funciona em c++.
Exemplo 1
Neste exemplo, forneceremos cordas decimais e hexadecimais para verificar como a função Stol os converte em números inteiros decimais e hexadecimais.
O “DEC = 123456789” é uma corda decimal e convertida em um número inteiro longo usando a função Stol Stol (DEC, & tamanho). Observe que a base não é fornecida na função como um parâmetro de entrada que, como resultado, usa a base padrão 10 para converter a sequência em um número decimal. No entanto, para converter a string de um número hexadecimal em um número decimal, a base 16 é fornecida como o parâmetro de entrada Stol (hexadecimal, nullptr, 16). Como sabemos, a base 16 representa um número hexadecimal.
#incluir
#incluir
#incluir
int main ()
std :: string dec = "123456789";
std :: string hex = "a2bf3c";
std :: string :: size_type tamanho;
long lidec = std :: stol (dez, & size);
LiHex longo = std :: stol (hexadecimal, nullptr, 16);
std :: cout << "Input decimal string "<std :: cout << "Input hexadecimal string "< retornar 0;
Aqui está a seguinte saída. Observe que a corda decimal “123456789” convertida em inteiro Decimal Long Decimal Long 123456789. Enquanto a sequência hexadecimal “A2BF3C” convertida em “10665788” número hexadecimal. Aqui estão as etapas necessárias que você pode seguir para saber como a conversão é feita pela função Stol:
(A2bf3c) ₁₆ = (10 × 16⁵) + (2 × 16⁴) + (11 × 16³) + (15 × 16²) + (3 × 16¹) + (12 × 16⁰) = (10665788) ₁₀
Exemplo # 2
Neste exemplo, converteremos um número binário usando a função Stol. Vamos ver o código abaixo e entender o funcionamento do código. O "1010110110" é dado como a sequência de entrada e a base 2 é fornecida como o parâmetro de base de entrada Stol (bin, & size, 2), representando o número em formato binário. A função STOL converterá o número binário em um número decimal seguindo estas etapas:
(1010110110) ₂ = (1 × 2⁹) + (0 × 2⁸) + (1 × 2⁷) + (0 × 2⁶) + (1 × 2⁵) + (1 × 2⁴) + (0 × 2³) + (1 × 2 × 2²) + (1 × 2?) + (0 × 2⁰) = (694) ₁₀
#incluir
#incluir
#incluir
int main ()
std :: string bin = "1010110110";
std :: string :: size_type tamanho;
long libin = std :: stol (bin, & size, 2);
std :: cout << "Input binary string "<retornar 0;
Como você pode ver, a função STOL retornou o mesmo resultado que o processo de conversão do binário geral para decimal.
Exemplo # 3
Neste exemplo, vamos ver o que acontece se testarmos a função STOL com entrada inválida. Uma sequência de vários caracteres será fornecida à função STOL e 0 será fornecida como valor base para que a função determine a base da string automaticamente. Aqui está o código:
Um conjunto de caracteres é fornecido como uma sequência de entrada que não é determinada por nenhum valores básicos, i.e., 10, 16, 2, etc. Portanto, a função retornará um valor de erro.
#incluir
#incluir
#incluir
int main ()
std :: string chr = "abcdefgh";
std :: string :: size_type tamanho;
longo str = std :: stol (chr, nullptr, 0);
std :: cout << "Input character string "<retornar 0;
Veja a saída abaixo. Observe que o compilador levantou uma exceção "invalid_argument", pois a função não atende a strings que não podem ser determinadas com nenhum valor base.
Exemplo # 4
Neste exemplo, forneceremos uma combinação de entrada válida e inválida para ver o resultado da função stol ().
A sequência de entrada é uma combinação de caracteres válidos e inválidos, “123xf25”. O ISG "0" fornecido como uma base de entrada para que a função determine a base da sequência de entrada automaticamente com base no tipo de caractere.
#incluir
#incluir
#incluir
int main ()
std :: string chr = "123xf25";
std :: string :: size_type tamanho;
longo str = std :: stol (chr, nullptr, 0);
std :: cout << "Input string "<retornar 0;
Aqui está a saída que mostra o funcionamento da função Stol com uma combinação de entrada válida e inválida:
Observe que a função converteu o "123" em número decimal "123" e descartou o restante da string ao receber uma entrada inválida "x". A string após o personagem "X" não é convertida pela função Stol, retornando apenas os primeiros caracteres da string como Int Long.
Conclusão
Nesta postagem, exploramos a função Stol da linguagem de programação C ++. Com a ajuda de alguns exemplos úteis e úteis, aprendemos como a função Stol funciona com diferentes tipos de entradas. A função STOL leva três parâmetros, a sequência de entrada a ser convertida, um parâmetro de tamanho que representa a posição da função na sequência e o valor base que representa a base da sequência de entrada. Retorna o valor longo do INT da sequência de entrada.