Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Zeldic
    Registrato dal
    Jan 2010
    Messaggi
    80

    [C] Lettura file .txt da programma C

    Salve. Qualcuno saprebbe dirmi in parole abbastanza semplici come fare a leggere delle righe da un file di testo con un programma C ? Non capisco i miei appunti, dove c'è scritto che "Il main program è responsabile di aprire il file, leggerlo, stamparlo e chiuderlo. Per specificare il file , si dichiarano i parametri della funzione main nel seguente modo :

    int main( int argc, char *argv[] )

    Tali parametri sono utili per utilizzare il programma di lettura delle grammatiche a linea di commando. Per esempio, se il codice sorgente viene tradotto nel programma eseguibile GrammarReader.exe, si potrà specificare il nome del file con il seguente comando

    GrammarReader nomefile"

    .. Ma dove lo scrivo ? Perché riportando questa dicitura nella linea di comando non succede nulla, dove dovrei specificare il nome del file di testo, e come esattamente ?

  2. #2
    Non capisco che guida stai leggendo ma credo ci sia MOLTA, MOLTA confusione.

    Il main che hai esposto altro non è che una funzione, in questo caso (C) la funzione principale del programma.
    Da li partirai con il scrivere costrutti, condizioni e tutto ciò che dovrà fare il programma.

    Per leggere dei file in C si usa un puntatore a FILE ma prima di arrivare a questo, credo tu debba leggere un manuale serio di C e dall'inizio.
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  3. #3
    Se tu specifichi sulla riga di comando
    codice:
    GrammarReader nomefile
    ti ritroverai argv={"GrammarReader", "nomefile", NULL} e argc=2
    Infatti:
    - argc conta il numero di elementi validi in argv;
    - argv[0] contiene sempre il nome dell'eseguibile (in qualche forma);
    - c'è sempre un NULL a terminare argv.

    Quindi, per processare quella linea di comando:
    - devi verificare che argc sia almeno 2
    - devi aprire uno stream al file il cui nome è contenuto in argv[1].

    In ogni caso, sono tutte cose spiegate all'inizio di qualunque manuale di C, a cui ti rimando per ulteriori approfondimenti.
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.