Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    136

    [cpp]parser in c++

    ho bisogno di realizzare un parser in c++.
    Ovviamente non so da dove partire, per questo ho un paio di domande :

    1) come faccio ad accedere ad un file che gli passo come parametro al mio parser ?

    2) come faccio a muovermi di riga in riga e parola per parola?

    3) come faccio a trovare all'interno del file la parola che cerco?

    4) come posso creare un file di output su cui scrivere le informazioni trovate?

    5) come posso scrivere sul file di output?


    Grazie a tutti per l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Per la domanda 1 e 5, se usi il C++ puoi utilizzare le classi ifstream e ofstream, per scrivere e leggere da file (sia ad accesso causale e sequenziale).

    altrimenti puoi comunque ricorrere alle solite funzioni fopen, fwrite, fread per aprire, leggere e scrivere su file.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3

    Re: [cpp]parser in c++

    La complessità nel realizzare un parser dipende dal tipo di file che devi parsare (o parserare)
    E' abbastanza facile con un normale file di inizializzazione, i classici .INI dove
    sulla stessa riga trovi la parola chiave ed il valore separati da un '=', linea
    preceduta dall'identificativo del blocco fra le parentesi []
    Esempio :
    codice:
    [connect default]
    ; Commento ...
    Access=NoAccess
    ...
    In ambiente Windows puoi anche utilizzare le apposite API (benchè ormai obsolete)

    Abbastanza più complesso è parsare un file XML o thml etcc.., dove ci sono vari TAGS
    (di apertura e di chiusura di un blocco, ma anche singoli), spesso profondamente annidati
    fra loro.
    Tu che tipo di file devi parsare ?
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.