Ir para o conteúdo
Joao Miguel

[Resolvido] String para numero

Mensagens Recomendadas

Joao Miguel

Boa noite.

Estou a fazer um trabalho em C e uma das funções auxiliares que preciso de implementar tem de pegar numa string e quando encontrar o primeiro numero converte-lo para inteiro.

Passo a exemplificar:

str1 = "abcdef235ghijkl" neste caso tem de dar o valor inteiro 235

str2 = "ab1234567890cdef" neste caso tem de dar o valor inteiro 1234567890

De notar que não sei nada sobre a string, ela é apenas passada por argumento na função, mais especificamente, não sei a quantidade de numeros que contém.

Quem poder ajudar agradeço.

Obrigado.

Editado por Joao Miguel

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

tens de implementar um ciclo que irá pesquisar pela primeira ocorrência de uma caracter numérico, depois basta usar o sscanf, dando o primeiro parâmetro como a posição de memória do elemento encontrado


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

Não sabes nada sobre o inteiro? Então como esperas guardar números com muitos algarismos? Terás que fazer algumas verificações relacionadas com isso.


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Podes usar o sscanf() como sugerido pelo Hippo, ou ir calculando o número caracter-a-caracter

basicamente:

arranjas um ponteiro para o primeiro caracter da string

enquanto o ponteiro nao apontar para um digito ou '\0', avança o ponteiro

enquanto o ponteiro apontar para um digito actualiza numero e avança o ponteiro


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Joao Miguel

Boas.

Venho apenas dizer que resultou com o sscanf na perfeição. Não sabia que o sscanf assim que encontra-se um numero, passava para um único inteiro esse numero e as ocorrências sucessivas de números até deixar de encontrar um numero.

Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.