seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[TIp] Usando scanf(); para strings com espaços em C...

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

s7L

s7L
colaborador
colaborador

Paz seja convosco;
Bom noite, como estão? Bem espero.
Estava andando por aí, e achei algo bem legal: Uma sequência de controle natural do C que é pouco conhecida; a porcentagem seguida de colchetes:
Código:
%[]
Essa sequência é um pouco mais interessante que a %s, pois se torna um tanto quanto mais flexível. Por exemplo, podemos especificar os caracteres que queremos:
Código:
%[aeiou]
Ou não:
Código:
%[^aeiou]
E assim por diante...
Mais detalhes, [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Bom, algo bem interessante que pode se fazer com ele, é a quebra daquele mito de que não á como capturar espaço usando scanf(); e strings. Segue exemplo:
Código:

char cString[40];
printf("Digite a frase:\n>");
scanf("%[^\n]",cString);
Também pode-se limitar o número de caracteres que se deseja como entrada, evitando assim um 'pseudobuffer-overflow', tipo:
Código:
char cString[25];
printf("Digite vosso nome:\n>");
scanf("%24[^\n]",cString);
Legal né?
Mais detalhes sobre como usar este "macete" aqui:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
E aqui especifica melhor a sequência de controle:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
É isso, espero que seja útil para alguém.
Design bem legal, parabéns para os autores rsrs.
#PASA; Very Happy

Kodo no Kami

Kodo no Kami
master
master

muito massa mano eu nem sabia disso *-*

https://endoffile.umforum.net

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos