Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    18

    [C++] Problemi file testo troppo grande

    Salve ragazzi , ho un problema abbastanza urgente,

    ho un file di testo di 1,3 Mega in input (pensate quant'è grande) e con i normali strumenti di c++ non
    riesco a memorizzare in un array le stringhe che lo compongono, nel file c'è un nome per riga
    Il sorgente è questo:

    cin>>a;
    ifstream tragitti(a);
    int j = 0;
    //Ciclo che recupera i dati del file riga per riga e li mette in strings
    while ( tragitti)
    { tragitti.getline(strings[j++], MAX_LUN_RIGHE);}


    strings non si riempie
    ho provato anche con le funzioni read e get ma niente...

    Grazie....

  2. #2
    Che errore ti da?
    strings che cos'è?
    MAX_LUN_RIGHE quanto vale?
    Con file piccoli ti funziona?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    18
    MAX_LUN_RIGHE è il secondo parametro della read o della getline e sono i caratteri che puoi leggere per riga nel mio caso vanno bene 15.
    con file piccoli funziona bene.
    strings è un array di char;
    char strings[MAX_RIGHE][MAX_LUN_RIGHE];

  4. #4
    Originariamente inviato da cino1985
    MAX_LUN_RIGHE è il secondo parametro della read o della getline e sono i caratteri che puoi leggere per riga nel mio caso vanno bene 15.
    con file piccoli funziona bene.
    strings è un array di char;
    char strings[MAX_RIGHE][MAX_LUN_RIGHE];
    Devo quindi indovinare che il programma ti va in crash dopo aver letto più righe di MAX_RIGHE?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    18
    l'errore più grave è che l'array non viene riempito!!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    18
    il proble è che max_righe è più grande delle effettive righe del file

  7. #7
    Non puoi postare esattamente l'errore che ti da? Magari in modo riproducibile.
    Se poi posti anche il codice completo e compilabile, meglio.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    18
    void main()
    { //Non conoscendo il nome del file ce lo facciamo dare in input
    cout << "VISUALIZZAZIONE DEL FILE CREATO\n";

    char a[30];

    cout << "Nome del file : ";

    cin>>a;

    //Dichiaro l'array di stringhe in cui andranno i dati del file

    char strings[MAX_RIGHE][MAX_LUN_RIGHE];

    //Apro il file

    ifstream file(a);


    int j = 0;

    //Ciclo che recupera i dati del file riga per riga e li mette in strings


    while ( file)
    {
    file.getline(strings[j++], MAX_LUN_RIGHE);
    }



    for (int i=0; i<j-1; i++)
    {

    if (i%2==0) cout<<endl;
    cout<<"-"<<strings[i]; // questo lascia perdere solo formattazione
    }

    cout<<j;

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    18
    il mio output è : Press any key to continue

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il programma funziona ... quando inserisci il nome del file, sei sicuro della sua posizione? Prova inserendo tutto il percorso completo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.