Atoi em C ++ é uma função predefinida do arquivo de cabeçalho cstdlib usada para converter um string valor para um valor inteiro. Existem muitos cenários em que pode ser necessário converter uma string com um valor inteiro em um valor inteiro real, e é aí que o C ++ atoi () função entra.

Função C ++ atoi ()

A função atoi () em C ++ é definido no cabeçalho cstdlib. Ele aceita um parâmetro de string que contém valores inteiros e converte a string passada em um valor inteiro. Se a string for nula ou tiver qualquer valor não inteiro, atoi em C ++ silenciosamente falha a execução sem gerar nenhum erro ou exceção.

Sintaxe de atoi em C ++

A sintaxe da função C ++ atoi () é:

int atoi (const char * str);

Parâmetros de atoi em C ++:

A função C ++ atoi () aceita apenas um único parâmetro, que é:

  • str: a string que precisa ser convertida em um valor inteiro

Valor de retorno de atoi em C ++

A função atoi () retorna o valor inteiro convertido se a execução for bem-sucedida. Se a string passada não for conversível em um inteiro, ela retornará um zero.

Adicionar outra estrela à sua avaliação de desempenho

Aprenda com especialistas do setor GRATUITAMENTE Comece a aprender

Adicionar outra estrela à sua avaliação de desempenho

Como converter string em número inteiro usando atoi em C ++?

Você pode usar o atoi em C ++ para converter uma string em um valor inteiro. Você precisa implementar o arquivo de cabeçalho cstdlib e passar a string que deseja converter em um inteiro. O código a seguir demonstra como converter uma string em um inteiro usando atoi em C ++.

#include

#include

#include

usando namespace std;

int main () {

//Strings a serem usados ​​para conversão

const char * str1=”200″;

const char * str2=”1.252″;

const char * str3=”Bem-vindo”;

const char * str4=”100 Bem-vindo”;

//usando atoi () em C ++

int i1=atoi (str1);

int i2=atoi (str2);

int i3=atoi (str3);

int i4=atoi (str4);

cout <<"Inteiro 1 é:"<

cout <<"Inteiro 2 é:"<

cout <<"Inteiro 3 é:"<

cout <<"Inteiro 4 é:"<

}

Resultado:

Atoi_in_Cpp_1

Como você pode ver na saída, ele converteu as duas primeiras strings com valores inteiros em inteiros. No entanto, a terceira string não tinha nenhum valor inteiro conversível. Portanto, o resultado da conversão da terceira string foi 0. A quarta string tinha o valor inteiro”100″e uma sequência de caracteres”Bem-vindo”. Neste cenário, atoi em C ++ converteu o possível valor inteiro 100 e o mostrou como a saída, enquanto a string “Welcome” foi ignorada.

Quais são os outros métodos para converter string em número inteiro?

Além da função C ++ atoi (), existem outras maneiras de converter uma string em um inteiro. Alguns dos métodos alternativos para esse tipo de conversão são mencionados abaixo.

Usando a classe StringStream

Definido no cabeçalho iostream, a classe C ++ StringStream permite operações de entrada, saída e limpeza em streams baseados em string. O cout, cin e seus respectivos equivalentes <> são usados ​​para extrair dados e inseri-los nos fluxos. Aqui está um exemplo para mostrar como converter uma string em um inteiro usando a classe StringStream.

#include

#include

usando namespace std;

int main () {

string s=”10″;

int i;

//usando a classe stringstream para inserir string e

//extrair valores internos

stringstream ss;

ss <

ss >> i;

cout <<"Valor da string:"<

cout <<"Depois de converter para inteiro, o valor é:"<

}

Resultado:

Atoi_in_Cpp_2

Como você pode ver na saída, ele converte a string s com o valor “10” em um valor inteiro de 10.

Usando a função stoi ()

A função C ++ stoi () é quase semelhante à função atoi () com uma grande diferença. Enquanto a função atoi () retorna 0 se a string não for conversível, a função stoi () simplesmente lançará uma exceção. Aqui está um exemplo de conversão de uma string em um inteiro usando a função stoi ().

#include

#include

usando namespace std;

int main () {

string s1=”200″;

string s2=”1.252″;

string s3=”100 Bem-vindo”;

//usando a função stoi () para conversão

int i1=stoi (s1);

int i2=stoi (s2);

int i3=stoi (s3);

cout <<"Inteiro i1 é:"<

cout <<"Integer i2 is:"<

cout <<"Integer i3 is:"<

}

Resultado:

Atoi_in_Cpp_3

Como você pode ver na saída, os resultados foram semelhantes aos fornecidos pela função atoi (). No entanto, se você adicionar uma string que não seja conversível, ocorrerá um erro. Aqui está um exemplo:

#include

#include

usando namespace std;

int main () {

string s1=”200″;

string s2=”1.252″;

string s3=”100 Bem-vindo”;

string s4=”Bem-vindo”;

//usando a função stoi () para conversão

int i1=stoi (s1);

int i2=stoi (s2);

int i3=stoi (s3);

int i4=stoi (s4);

cout <<"Inteiro i1 é:"<

cout <<"Integer i2 is:"<

cout <<"Integer i3 is:"<

cout <<"Inteiro i4 é:"<

}

Resultado:

Atoi_in_Cpp_4

Como escrever sua própria função atoi () em C ++?

Além do atoi predefinido em C ++, você também pode criar sua própria função atoi (). Aqui estão as etapas fundamentais para criar sua própria função atoi () em C ++.

  1. Inicialize a variável inteira como 0.
  2. Pegue um único caractere da string a cada vez e adicione o número ao resultado anterior depois de multiplicá-lo por dois.
  3. Verifique se a string é conversível, verificando se os caracteres estão entre 0 e 9.
  4. Verifique se há um sinal-no início para o valor negativo e multiplique o resultado por-1.

Se as etapas não ajudarem, os exemplos abaixo certamente ajudarão. Veja como criar seu próprio atoi em C ++.

Curso Full Stack Web Developer

Para se tornar um especialista em MEAN Stack Ver Curso

Full Stack Web Developer Course

Exemplo 1: atoi simples em C ++ para converter string em inteiro

#include

usando namespace std;

//Criando sua própria função atoi ()

int myAtoi_Func (char * s) {

//Etapa 1

resultado interno=0;

//Etapa 2

para (int x=0; s [x]!=’\ 0′; ++ x)

resultado=resultado * 10 + s [x]-‘0’;

resultado de retorno;

}

int main () {

char s []=”12354″;

//Chamando a função

int i=myAtoi_Func (s);

cout <

return 0;

}

Resultado:

Atoi_in_Cpp_5

Exemplo 2: convertendo valor negativo e verificando se a string é conversível

Neste exemplo, você criará seu próprio atoi em C ++ que verificará se a string é conversível, negativa e, em seguida, concluirá a conversão com base nos resultados.

#include

#include

usando namespace std;

//Verificando se c é numérico

//Etapa 3

bool isNumeric (char c) {

return (c>=’0’&& c <='9')? verdadeiro: falso;

}

//função atoi () que retorna 0 se c não for conversível

int myAtoi_Func (char * s) {

if (* s==’\ 0′)

return 0;

//Etapa 1

resultado interno=0;

//Inicializando o sinal positivo

sinal int=1;

//Inicialize o índice do primeiro dígito

int i=0;

//Verificar se o número é negativo e atualizar o sinal de acordo

if (s [0]==’-‘)

{

sinal=-1;

//Atualizando o índice do primeiro dígito

i ++;

}

//Iterando por todos os dígitos e atualizando o resultado

para (; s [i]!=’\ 0′; ++ i)

{

//Mensagens de erro

if (isNumeric (s [i])==false)

return 0;

resultado=resultado * 10 + s [i]-‘0’;

}

//Retornando o resultado

sinal de retorno * resultado;

}

int main () {

char s []=”-524″;

int val=myAtoi_Func (s);

printf (“% d”, val);

return 0;

}

Resultado:

Atoi_in_Cpp_6

Avance sua carreira como desenvolvedor MEAN stack com o Desenvolvedor Web Full Stack-Programa MEAN Stack Master . Inscreva-se agora!

Resumindo

Neste artigo, você aprendeu sobre atoi em C ++. Agora você sabe o que a função atoi () do C ++ faz e como pode criar seu próprio atoi. Entender como converter uma string em um inteiro será útil durante o desenvolvimento de programas complexos. Atoi em C ++ é apenas um dos muitos conceitos fundamentais da programação C ++. Você pode consultar o C ++ Tutorial para iniciantes do Simplilearn para aprender sobre os outros conceitos básicos, como para loop e array .

Você também pode aprender inscrevendo-se em nosso Plataforma SkillUp . A plataforma oferece vários cursos online gratuitos para várias linguagens de programação, incluindo C ++. Você pode se inscrever e escolher qualquer curso de acordo com sua preferência para aprimorar suas habilidades e compreensão nessa linguagem de programação específica.

Os desenvolvedores full-stack têm uma demanda muito maior do que os profissionais com experiência em um único idioma. Portanto, é essencial obter domínio em várias linguagens de programação agora mais do que nunca. Nosso Curso Full-Stack de Desenvolvimento Web foi criado para atender a essa necessidade. O curso ajuda a aprender sobre mais de 30 habilidades de programação e ferramentas com horas de aprendizagem aplicada, prática e materiais de aprendizagem. Ele também fornece um certificado de conclusão para ajudá-lo a conseguir um emprego lucrativo no campo de desenvolvimento de software. Acesse o link acima e opte pelo curso se quiser seguir uma carreira em desenvolvimento.

Tem alguma pergunta para nós? Deixe-os na seção de comentários deste artigo. Nossos especialistas entrarão em contato com você o mais rápido possível!

Categories: Wordpress