Ir ao conteúdo

Posts recomendados

Postado

Boas pessoal,

Vamos supor que é introduzido o seguinte vector de caracteres "123+45620+09"
existe alguma forma de eu ler isto com um único scanf e armazenar o "123" na string1, o "45620" na string2, o "09" na string3 etc...

  eu estava a pensar em fazer algo do género
Código (C):

scanf("%[1-9]s %[1-9]s",&str1,&str2);

Mas não está a funcionar porque ao ser lido uma caracter inválido ele salta logo para fora do scanf

alguém tem alguma ideia de como é que isto se resolve? 

Postado

Atualmente eu leio a string normalmente e depois percorro ela para saber se tem algo que não deveria estar lá. Você pode fazer a leitura com uma variável buffer(lixo), depois você percorre a string buffer, e se o caractere for válido, você concatena na string que deve receber o valor.

Pode parecer estranho e meio trabalhoso, mas é bem simples e eficaz, já fiz uma proteção contra SQL injection com essa técnica.

Visitante
Este tópico está impedido de receber 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!