Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Leitura no Terminal


Question

Galera, tem como a função scanf() ler uma sequência de char no terminal excluindo o " "(espaço em branco).

Exemplo:

Lendo no terminal:

# * # *
Queria saber uma forma de ler esses valores usando:
scanf("%c", &variavel1);
scanf("%c", &variavel2);
scanf("%c", &variavel3);
scanf("%c", &variavel4);
Mas sem atribuir as variaveis o valor " "(espaço em branco). Sendo assim,
variavel1 = #
variavel2 = *
variavel3 = #
variavel4 = *

[]'s

Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Após cada caractere há um espaço, é isso? Se sim, você pode usar:

scanf("%c ", &variavel);
Do contrário, acho que não é possível só com um scanf. A forma mais fácil em que consigo pensar seria fazer a leitura sequencial dos caracteres e ignorar os espaços em branco. Algo como:
char str[200];
char *p = str;
char ch;
while (ch = getchar(), ch != '\n' && ch != EOF)
{
    if (ch != ' ')
    {
        *p++ = ch;
    }
}
*p = 0;
puts(str);

Link to post
Share on other sites
  • 0

Eu consegui da seguinte forma:

Tendo como entrada:

* * +
Usei:
char c1, c2, c3

scanf(" %c");
scanf(" %c");
scanf(" %c");
Então atribui corretamente:
c1 = *
c2 = *
c3 = +

Facilita pra tipos de problemas que recebem uma linha com vários caracteres, não atribuindo o ' '(espaço em branco) a variável, pois não interessa.

Muito obrigado pela sua atenção Pedro.

Link to post
Share on other sites
  • 0

É porque trabalhar com String em C é meio complicado. O problema que eu resolvi recebia números e caracteres em uma mesma linha, e o scanf() estava associando a umas das variáveis do problema o ' '(espaço em branco), o que não era nada interessante. De qualquer forma obrigado pela ajuda, consegui resolver o problema da forma descrita acima.

Obrigado a todos.

[]'s

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644530
×
×
  • Create New...