Curso de Programação C | Como ler uma String com a função scanf()? | aula 129

Поделиться
HTML-код
  • Опубликовано: 29 ноя 2024

Комментарии • 36

  • @GbMtt
    @GbMtt 2 месяца назад

    vc é um rei, meu nobre!
    Deus te abençoe, mn!
    fiquei agarrado nesse scanf maldito, mas deu tudo certo agr!!

  • @David55293
    @David55293 Месяц назад +1

    Essa aula me fez lembrar isso aqui no sql; ... nome varchar(100)

  • @r.d.g4844
    @r.d.g4844 2 года назад +7

    +1 inscrito, eu sou apaixonado por c++ porém tenho me aventurado no C e essa string quebrou minha cabeça demais kkkkkkk muito obrigado explicação nota 1000

  • @wilfridsenatus1158
    @wilfridsenatus1158 Месяц назад

    explicação nota 10

  • @igorporto7210
    @igorporto7210 Год назад +1

    Bom conteúdo!
    Obrigado por me esclarecer uma dúvida.

  • @fernandobatista2754
    @fernandobatista2754 2 года назад +2

    Parabéns belissima aula

  • @aramisocreciodasilva6441
    @aramisocreciodasilva6441 2 года назад +1

    você ensina muito bem

  • @larissarosa3008
    @larissarosa3008 Год назад

    Muito boa explicação!

  • @joaoguilhermenogueira6674
    @joaoguilhermenogueira6674 2 года назад

    ótimo conteúdo!

  • @tialissonmazarem5825
    @tialissonmazarem5825 3 года назад +5

    Olá professor, tudo bem? Se eu utilizar o scanf desta forma, o certo não seria eu colocar um caractere a menos na leitura por conta do contra barra zero? Então se a palavra tem n letras, calculo n-1.
    scanf ("%n-1[^
    ]") ?

    • @programeseufuturo
      @programeseufuturo  3 года назад +4

      Exato Tialisson, a ideia é exatamente esta.
      Aí, sabe aquela pessoa que aprendeu errado (na faculdade inclusive hahaha) e agora sempre esquece de corrigir? Pois é, sou eu kkkkk.
      Obrigado pela pergunta. Acho que dá uma boa aula aqui pra canal até pra me corrigir rsrs.
      Na maioria das vezes usar o próprio n não terá nenhum problema uma vez que é apenas uma posição fora do vetor, mas... lembra da lei de Murphy? Pois é, em algum momento vai dar problema e muito provavelmente será na hora que o cliente estiver testando o programa (ou o professor) kkkkkk.

    • @tialissonmazarem5825
      @tialissonmazarem5825 3 года назад +1

      @@programeseufuturo Oi, professor! Obrigado por responder! Pois me deparei com esta questão fazendo um exercício de strings, onde eu primeiro precisava contar o numero de caracteres. Ai lembrei deste detalhe, pois deu erro na hora de alocar memória. Mas acontece né, os erros surgem no dia da apresentação hahaha. E acho que daria uma aula legal sim, embora seja uma questão mais simples, pra quem está começando é importante saber para compreender melhor o funcionamento. Mais uma vez muito obrigado e até as próximas perguntas haha abraço!

    • @programeseufuturo
      @programeseufuturo  3 года назад

      Por nada Tialisson. Abraços e até as próximas perguntas rsrs.

  • @pedrobatista1389
    @pedrobatista1389 3 года назад +2

    Aula muito boa Professor. Obrigado.
    A função scanf sendo assim não daria para usar Expressões Regulares?
    Porque em uma expressão regular o [^
    ] quer dizer: "Qualquer coisa nesta posição que não seja o
    ".
    Meu sonho que desse kkk. Gosto demais de Expressões Regulares kkk.
    Fala que dá!!kkkkkk
    Obrigado.

    • @programeseufuturo
      @programeseufuturo  3 года назад +2

      kkkkkkk
      Então Pedro, é possível fazer algumas coisas bem próximas ao que as expressões regulares permitem fazer, por exemplo:
      scanf("%[A-Z0-9]", teste);
      Esta instrução irá ler apenas letras maiúsculas e números entre 0 e 9.
      Assim, se for digitado "ABACATE123" tudo será lido e salvo na variável teste. Contudo, se for digitado "ABACATEz123", será lido apenas a palavra abacate que está em maiúsculo uma vez que a letra z não pertence ao conjunto especificado.

    • @pedrobatista1389
      @pedrobatista1389 3 года назад +1

      @@programeseufuturo Que da hora professor!! kkk Vou testar aqui algumas coisas (e ver se não explode o pc!! kkkkk!!) Obrigado Professor

    • @programeseufuturo
      @programeseufuturo  3 года назад +1

      kkkkkkkk
      Se explodir a culpa não foi minha em hahaha

  • @geovannerodrigues3258
    @geovannerodrigues3258 Год назад

    na hora da execução do programa, ele pulou essa linha de código. Por que?
    scanf("%10[^
    ]", aviao.nome);

  • @israels.santos8556
    @israels.santos8556 2 года назад +1

    TOP

  • @felipequeirozlopes3978
    @felipequeirozlopes3978 2 года назад +1

    Utilizado exatamente o código desta aula, como você faria para contar o número total de caracteres da string?

    • @Leoandro2000
      @Leoandro2000 2 года назад

      Toda string termina com \0. Vc pode usar um laço que conte até encontar o '\0'

  • @miranha32
    @miranha32 2 года назад +1

    Bom dia eu queria fazer um treino e Fazer um programa que leia dois caracteres do teclado com a função scanf
    (leitura separada), e que mostre os seus códigos ASCII correspondentes. dps queria somar os 2 valores e qual caractere resulta da soma dos dois na tabela ASCII. É uma dos treinos q está na minha agenda só q n sei como fazer, poderia me ajudar?

    • @programeseufuturo
      @programeseufuturo  2 года назад

      Olá Rickzinho. Para ler dois caracteres, um por vez, você vai precisar limpar o buffer do teclado. Você pode usar a aula 12 como exemplo: ruclips.net/video/qZOZxLwnDaA/видео.html
      Sobre a tabela ASCII a aula 30 poderá te ajudar: ruclips.net/video/yOZXJKjeif4/видео.html
      Qualquer dúvida pode comentar nas aulas.

  • @Moderador_Civilizado
    @Moderador_Civilizado 3 года назад +1

    esclarecedor, tem como criar um vetor e pedir para o usuário definir no teclado quantos espaços terá o vetor?

    • @programeseufuturo
      @programeseufuturo  3 года назад

      Sim, basta fazer a leitura desse valor (tamanho do vetor) antes de criar seu vetor, assim:
      int tam;
      printf("Digite o tamanho do vetor: ");
      scanf("%d", &tam);
      char str2[tam];

    • @Moderador_Civilizado
      @Moderador_Civilizado 3 года назад +1

      @@programeseufuturo sim, mas como se faz o tamanho deste vetor apatecer no lugar de 80 aqui: scanf ("%80[^
      ]") porque, se o 80 não for substituido pelo tamanho lido do vetor, causará o mesmo problema tratado neste vídeo, de o scanf ler mais do que foi lido, como contornar isso?

    • @programeseufuturo
      @programeseufuturo  3 года назад

      Respondi hoje, aqui: ruclips.net/video/NTVBvicv_3k/видео.html

  • @antonnelly
    @antonnelly Год назад

    Esse "[^
    ]" é uma regex?

  • @kristtoferbruno77
    @kristtoferbruno77 2 года назад +1

    no meu não deu certo :(

    • @programeseufuturo
      @programeseufuturo  2 года назад

      Aparece alguma mensagem de erro ou apenas não lê a string?

  • @balbino4
    @balbino4 2 года назад +1

    POR QUE UM PROGRAMADOR, QUE TEM O TÍTULO DE INTELIGENTE, NÃO SE TOCA E GRAVA COM LETRAS PEQUENAS E COLORIDAS, DIFICULTANDO PARA QUEM ASSISTE AO VÍDEO ATRAVÉS DE UM PEQUENO CELULAR?!
    QUE ÓDIO!
    SUAS AULAS PARECEM BOAS, MAS NÃO DÁ!

    • @hito284
      @hito284 2 месяца назад

      para de gritar man