1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[c++]fseeks seekg e por ai alem

Discussão em 'Programação' iniciada por armagedalbeebop, 8 de Julho de 2008. (Respostas: 4; Visualizações: 862)

  1. armagedalbeebop

    armagedalbeebop Power Member

    estou aqui com um problema ou entao isto nem é possivel fazer-se

    ora bem,estava a tentar que depois de guardar a posicao de inicio de varias linhas de um ficheiro txt
    ir directo para lá depois de uma procura invés de andar com loops a procura dela e com umas poucas verificacoes

    guardo assim :

    posicao=Nfile.tellg();

    e depois tento algo do genero

    Nfile.seekg(first->C.at(i).posicao, ios::beg);

    mas digamos que isto nao funciona lá muito bem,ou melhor, nao funciona

    nao queria estar a fazer um loop a verificar varias coisas ,o ficheiro é um bocado grande e queria que isto saltasse logo para o byte do inicio da linha
    já tenho visto algo assim:

    1. inf.seekg(8, ios::beg); // move 8 more bytes into file
    mas nunca me encontrei com algo em que guardasse a posicao e se utilizasse aquilo


    já alguem fez algo do genero que me possa dar uma dica?
     
  2. reise

    reise Power Member

    Com ficheiros de texto não podes fazer isso a não ser que garantas que as linhas têm todas o mesmo tamanho.
    O fseek salta bytes não linhas!
     
  3. armagedalbeebop

    armagedalbeebop Power Member

    pois foi o que li,mas p.ex nao posso guardar os numeros de bytes que existem até uma determinada linha(desde o inicio) e ir para lá directamente?
     
  4. reise

    reise Power Member

    Podes, mas isso vai complicar-te o esquema.
    Vais ter um ficheiro com os inicios e tamanho de cada entrada?
    Vais ter actualizações?
     
  5. armagedalbeebop

    armagedalbeebop Power Member

    assim se calhar ja e complicar demais o esquema,mais vale ficar com um ciclo
     

Partilhar esta Página