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

    [C++] getline per i file di testo

    ciao a tutti!
    sto provando a creare un programma che "simula" un editor di html.
    in sintesi il procedimento è il seguente:
    1- creo un primo file di testo dove memorizzo riga per riga gli input della cin( fin qui nessun problema siccome anche andando a controllare il file di testo .txt noto che è tutto corretto)
    2- copio il contenuto del primo file di testo in un secondo file .html( che poi sarà il programma vero e proprio ).

    qui il codice del secondo passo:

    codice:
            fstream f_txt;
            ofstream f_html;
    ...
    
            f_txt.open( nome_f + ".txt", ios::in );
    
            f_html.open( nome_f + ".html" );
    
            cout << "...STO CREANDO IL PROGRAMMA..." << endl;
    
            while ( !f_txt.eof() )
            {
                //getline( f_txt, temp_s, (char) 10 ); un altra possibilita di getline che ho trovato
                getline( f_txt, temp_s );
                //f_txt >> temp_s; //questa soluzione sarebbe anche corretta ma preferirei la getline
                temp_s= taglia_stringa( temp_s, length_int(i) + 2 );// questa lasciatela stare intanto l'errore non si verifica qua
    
                f_html << temp_s;
            }
    
            f_html.close();
            f_txt.close();
    grazie mille in anticipo!!!

  2. #2
    Com'è dichiarata temp_s? Che errore ricevi?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [C++] getline per i file di testo

    Originariamente inviato da maluz1
    sto provando ...
    Ma scusa, dici cosa stai facendo e ci mostri il codice ma non dici qual è l'errore specifico ...

    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Si scusate,
    Temp_s è una variabile string
    Ma non m da nessun errore in fase di compilazione,
    A run time il programma viene bloccato da windows che mi informa di un errore.
    È per questo che non riesco a capire quale sia il problema. Grazie mille comunque delle risposte

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da maluz1
    windows che mi informa di un errore.
    E informa anche noi di quale errore si tratta ... ci sarà uno specifico messaggio di Windows ...

    Comunque, hai eseguito passo passo in debug per vedere quale linea è responsabile?

    In ogni caso, il codice, *senza* la linea che chiama la funzione

    taglia_stringa

    funziona senza errori.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    guarda io ho mandato in esecuzione commentando il getline e inserendoci invece:
    f_txt >> temp_s;

    e funziona.

    io uso code::block e usando il getline windows mi comunica solamente che editor_html( il nome del mio programma) ha smesso di funzionare...
    code::block invece termina con due messaggi di errore:
    - la prima volta che lancio l'eseguibile:
    processed return 255 ( 0xFF ) , che poi è l'esadecimale di 255...
    - dopo la prima volta che lo lancio l'errore è:
    processed return -1073741819 ( 0xC0000005 )

    grazie

  7. #7
    grazie mille di tutto, ho risolto ed effettivamente il problema era in taglia_stringa dove invece di scrivere s[i + n] avevo scritto s[i] + n che non era possibile poichè non aveva senso sommare ad una stringa un intero.

    scusate il disturbo per questo mio errore di distrazione...

    grazie mille ancora e complimenti

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.