TÓPICO

como fazer o EOF

bragutti perguntou 6 years ago

como faz esse bendito EOF ?

Lembre de não publicar soluções. Sua publicação pode ser revisada por nossos moderadores.

  • gfaggione respondido 6 years ago

    se vc estiver fazendo em python, vc pode fazer assim:

    while True:
      try:
        #seu código entra aqui
      except EOFError:
        break
  • rcabr1 respondido 6 years ago

    Quando se trata da função scanf em C/C++, essa função retorna o número de argumentos que foram lidos e, quando ocorrer algum erro de leitura (como fim de arquivo), a função retorna EOF (normalmente tem valor -1).

    Um exemplo bacana:

    #include <cstdio>
    
    int main () {
        int x;
    
        while (scanf("%d", &x) == 1)
            printf ("consegui ler x = %d\n", x);
    
        return 0;
    }
    

    Basicamente o código repete o loop enquanto ele consegue fazer o scan de x e mostra na tela, você pode usar esta base para ler todas as instâncias.

    OBS: também dá para escrever while (scanf("%d", &x) != EOF)

  • PedroFeitosa respondido 3 years ago

    Em C++ utilizando o cin pode ser usado assim:

    
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int c;
    
        while(cin >> c)
        {
          //seu codigo
        }
    
        return 0;
    }
    
    MOD
  • eduardo-mior respondido 5 years ago

    Se for em java você usa o método hasNext do Scanner então fica while (scanner.hasNext())

  • icarvalho32 respondido 5 years ago

    Em C# pode ser feito da seguinte forma:

    while(true) {
       string input = Console.ReadLine();
       if (string.IsNullOrEmpty(input))
         break;
      /* Seu código */
    }
  • EdivaniaPontes respondido 4 years ago

    Em Golang pode ser feito assim:

    for {
      _,err := fmt.Scanf("%d\n",&n)
    
      if err == io.EOF {
        break
      }
      /* your code */
    }

    Sobre a função Scanf: https://golang.org/src/fmt/scan.go?s=3401:3463#L70

  • GiovanniSchenato respondido 2 years ago

    se voce estiver fazendo em java:

    Scanner scan = new Scanner(System.in)
    
    while(scan.hasNext()){
    
     //Seu codigo vai aqui
    
    }
  • solkarped respondido 3 years ago

    O final de arquivo do tipo EOF é uma forma de estrututar um código de forma que o mesmo aceite indefinido número de entradas (1, 2, 3, 4, 5, ... , n). Cada linguagem de programação possui uma forma correta pra estruturar o código. No caso do Python utilizamos o seguinte algoritmo... `while True: try:

    seu código entra aqui

    except EOFError: break`

  • brrossetti respondido 3 years ago

    Em Ruby, gets() retorna nil quando encontrar EOF:

    while linha = gets
      puts linha
    end
  • sliatecinos respondido 1 year ago

    @GFAGGIONE aqui também funcionou 100%! VLW!!

  • RadmilaTADS respondido 1 year ago

    em C# string s;

    while(!string.IsNullOrEmpty(s = Console.ReadLine())) {

     **/* seu código aqui*/**
    }
  • gmacedo31 respondido 2 years ago

    Olá, em R, podemos realizar desse modo.

    while(TRUE){ line = readLines(input,n=1) n = as.integer(line)

    if(length(line) == 0){
        break
  • faugusto85 respondido 2 years ago

    Em Lua, você pode fazer assim:

    while true do

    local linha = io.read()
    
    if linha == nil then break end
    
    -- seu código aqui

    end

  • DaniloInacio respondido 6 months ago

    Em Rust vc pode fazer dessa forma:

    
    use std::io;
    
    fn main() {
    
        loop {
            let mut input = String::new();
    
            match io::stdin().readline(&mut input) {
                Ok (bytes) => if bytes < 2 { break; },
                Err (_) => panic!("Failed to read line!")
            }
    
            /*  seu código */
    
        }
    
    }
    

    ref: https://doc.rust-lang.org/std/io/struct.Stdin.html

  • DavidVinicius respondido 1 year ago

    Para fazer o EOF em PHP, pode utilizar esse código:

    while(($n = fgets(STDIN)) !== false) {    
        #seu código
    }
  • solkarped respondido 3 years ago

    while True: try:

    Espaço recomendado para a inserção de todo o código.

    except EOFError:
        break