Como converter uma string para um int c

Dentro "C," cadeias de caracteres são armazenados como um conjunto de códigos de caracteres e manipulado como personagens. Se suas cadeias de caracteres representam números inteiros, convertê-los em números inteiros antes de executar quaisquer operações matemáticas, como adição e subtração. Por exemplo, você não pode adicionar as cadeias de caracteres "123" e "5" e esperam "128". A cadeia de caracteres "123" é um array de caracteres de quatro posições, contendo os códigos de caracteres ASCII para `1`, `2` `, 3` e "NULO." Felizmente, existe uma função de biblioteca padrão, "atoi," que converte cadeias de caracteres para números inteiros em C.

  • Incluir os arquivos de cabeçalho para a entrada padrão e uma biblioteca de saída e da biblioteca padrão, bem como o arquivo de limites de cabeçalho. Lembre-se que incluem directivas começar na primeira coluna "C."

    incluir
    incluir
    incluir
  • Comece o seu programa principal e declarar uma variável para a sua cadeia de caracteres e um para o seu inteiro resultante. Se a sua máquina é uma implementação de 32 bits, o intervalo para números inteiros é de --2, 147, 483, 648-2, 147, 483 e 647. Assim, um conjunto de 11 posições é grande o suficiente para lidar com a cadeia de caracteres deseja converter.

    int main ()

    {

    carbonizar my_string [11];

    int número;

  • Peça ao usuário para uma cadeia de caracteres para converter. Dê o intervalo válido para inteiros em seu sistema de modo que o valor inserido não é muito grande ou muito pequeno para o seu sistema de manusear. As constantes INT_MIN e INT_MAX do arquivo de limites de cabeçalho especificar o intervalo válido para inteiros em seu sistema.

    printf ("Por favor insira uma seqüência numérica entre% de% d. N", INT_MIN, INT_MAX);



    gets (my_string);

  • Converter a cadeia com a função atoi e armazenar o resultado na variável int. A função atoi retorna o valor convertido, um zero se não houver conversão, ou o INT_MIN constante ou INT_MAX se a cadeia de caracteres estava fora do intervalo.

    number = atoi (my_string);

  • Imprimir a string original e o número inteiro resultante. Use o código a% s para a cadeia e uma% d para o número inteiro. Para verificar a cadeia foi convertida, executar uma operação matemática simples sobre o valor resultante e imprimir a resposta. Termine o seu programa principal, retornando um código de sucesso, colocando o seu fechamento}.

    printf ("O original seqüência de caracteres% s é o número inteiro% d. Adicionando 6 dá% d n",

     my_string, número, número + 6) -

    return 0;

    }

dicas & avisos

  • Se o resultado da atoi é INT_MIN ou INT_MAX, é possível o usuário entrou um valor fora do intervalo inteiro válido. Você pode adicionar um comando if para verificar o valor do seu inteiro retornado e imprimir uma mensagem, se for igual a INT_MIN ou INT_MAX. A função atoi vai parar o processamento de uma string se encontrar um caractere inválido. Por exemplo, se o usuário digita "245,32", Atoi só vai pegar o "245" uma vez que uma `.` não é um carácter válido para um número inteiro.
De esta maneira? Compartilhar em redes sociais:

LiveInternet