Ir ao conteúdo
  • Cadastre-se

Strings


idema3d

Posts recomendados

Estou aprendendo a trabalhar com C, e com strings e estou com uma dúvida que parece ser bem básica mas não estou conseguindo me livrar do problema. Seguinte digamos que eu possua uma string com alguns valores numéricos dentro dela e eu queira pegar esses valores de dentro da string e transformá-los em um número correspondente a seus valores, algo desse gênero

str1[]={9876}; // agora eu teria que passar o valor 9876 para dentro de uma variável numérica, mas não sei como fazer isso.

tentei usar o comando atol mas não funcionou, acho que a conversão tem que ser feita "no braço" e esse é o problema, como fazer essa conversão manualmente? Se puderem me ajudar ficaria muito agradecido.

Link para o comentário
Compartilhar em outros sites

Dá pra fazer no braço sim mas isso realmente não necessário a função já existe.

a função que você tentou usar (atol) converte uma string em um long, se você tentou atribuir o retorno dela a uma variável int irá gerar erro. Ao invés dela você poderá usar a função atoi. Veja o exemplo abaixo.


#include <stdio.h>
#include <stdlib.h>

void main()
{
char str[100];
int num;

printf("Digite um numero: ");
gets(str);
// Armazena um número no formato de string

num = atoi(str);
printf("%i", num*2);
// Para "provar" que realmente virou número eu multiplico ele por 2

}

Link para o comentário
Compartilhar em outros sites

Bom.

Talvez o problema nem seja na função que você usou, e sim, na forma como você codificou a string.

Uma string em C é declarada entre aspas: str1[]={"9876"};

Isso indica ao compilador, que aquele vetor é uma string.

É só incluir o header da função atoi no início do seu programa, e utilizar a função:

#include <stdlib.h>

char str1[] = {"9876"};
int num;

int main ( void )
{
num = atoi ( str1 );
return 0;
}

Espero que ajude.

[]'s

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!