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.
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 é:"< } 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. 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. 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 < #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 é:"<
} Como você pode ver na saída, ele converte a string s com o valor “10” em um valor inteiro de 10. 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:"< } 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 é:"< } 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 ++. Se as etapas não ajudarem, os exemplos abaixo certamente ajudarão. Veja como criar seu próprio atoi em C ++. #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; } 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; } Avance sua carreira como desenvolvedor MEAN stack com o Desenvolvedor Web Full Stack-Programa MEAN Stack Master . Inscreva-se agora! 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! Resultado:
Quais são os outros métodos para converter string em número inteiro?
Usando a classe StringStream
Resultado:
Usando a função stoi ()
Resultado:
Resultado:
Como escrever sua própria função atoi () em C ++?
Exemplo 1: atoi simples em C ++ para converter string em inteiro
Resultado:
Exemplo 2: convertendo valor negativo e verificando se a string é conversível
Resultado:
Resumindo