Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C++] Leggere da file una riga di termini

    Vi spiego il problema.. devo leggere un file
    Questo file è variabile ed è costruito così:

    n <numero>
    m <numero>
    t <termine1> <termine2> ... <termine T>
    .....
    .....

    per le prime due righe non ho problemi faccio così:

    file >> stringa;
    file >> n;

    file >> stringa;
    file >> m;

    per la terza riga invece non so come fare.. il numero di termini T(i termini sono numeri) è variabile e non posso dire di leggere fino alla fine del file perchè dopo quei termini devo leggere altre cose..
    ho provato a cercare sul forum ma non ho trovato nulla che potesse aiutarmi..
    qualcuno può farlo?! vi ringrazio!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Leggi il numero di termini e imposta un ciclo for fino al numero letto, per leggere gli altri dati.

    Ovvero

    1) leggi il numero di termini

    2) for contatore = 0 fino a numero di termini-1

    2a) leggi stringa

  3. #3
    che intendi per leggere il numero di termini? nel testo letto non viene specificato quanti termini ci saranno su quella riga

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Scusa ... ma

    t

    cosa e'?

  5. #5
    T è semplicemente una lettera.. può anche essere saltata in fase di lettura.. non ha importanza.. l'importante è la riga di termini..

  6. #6
    E' importante..
    nessuno sa dirmi come leggere una riga di numeri in un file di testo.. senza conoscere il numero di termini che ci saranno nel testo?

  7. #7

    Re: [C++] Leggere da file una riga di termini

    Originariamente inviato da lucia983
    Vi spiego il problema.. devo leggere un file
    Questo file è variabile ed è costruito così:

    n <numero>
    m <numero>
    t <termine1> <termine2> ... <termine T>
    .....
    .....

    per le prime due righe non ho problemi faccio così:

    file >> stringa;
    file >> n;

    file >> stringa;
    file >> m;

    per la terza riga invece non so come fare.. il numero di termini T(i termini sono numeri) è variabile e non posso dire di leggere fino alla fine del file perchè dopo quei termini devo leggere altre cose..
    ho provato a cercare sul forum ma non ho trovato nulla che potesse aiutarmi..
    qualcuno può farlo?! vi ringrazio!
    In pratica questa parte del file andrebbe ignorata in fase di lettura, giusto?
    t <termine1> <termine2> ... <termine T>
    Se si trova sempre su un' unica riga, potresti leggerla tutta
    fino al line-feed (ASCII 10) o al carriage-return(ASCII 13).
    Quindi ti ritroveresti posizionata alla riga successiva, da dove,
    puoi ricomincire a leggere i dati che ti servono.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  8. #8
    scusa l'ignoranza.. ma questo metodo che dici come si farebbe?

    c'è un modo per indicare in c++ il line-feed o il carriage-return?

    Qualcosa tipo..
    while(!carriage-return)
    {
    file >> termine;
    cout << termine << " " ;
    }

  9. #9
    Originariamente inviato da lucia983
    scusa l'ignoranza.. ma questo metodo che dici come si farebbe?

    c'è un modo per indicare in c++ il line-feed o il carriage-return?

    Qualcosa tipo..
    while(!carriage-return)
    {
    file >> termine;
    cout << termine << " " ;
    }
    No, esiste la 'getline( file, stringa)', che si occupa di leggere un' intera riga dal file di testo.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  10. #10
    Grazie. Ho risolto così..


    char stringa;
    file.getline(stringa,1000);
    cout << stringa;

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.