Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [C++] Elenco files e loro lettura

    Ciao a tutti!
    Vi spiego la situazione attuale; il problema nasce dal fatto che ho salvato dal telefonino con un noto programma gli sms scritti e ricevuti su PC, questi sono racchiusi singolarmente in files "*.vmg" e vengono aperti da un programma proprietario.
    Ora, volendo trasporare questi su un sistema basato su Win98SE, codesto programma non vuole girare perchè fatto unicamente per Win2000/XP.
    Ho cercato in rete e nn esiste nulla per Win98.La soluzione è farmi un programmino apposta.

    Aprendo sti benedetti files con NotePad la situazione è semplice, tutto è racchiuso in un'unica riga fatta così:

    BEGIN:VMSG
    VERSION:1.1
    X-IRMC-STATUS:READ
    X-IRMC-BOX:INBOX
    BEGIN:VCARD
    VERSION:2.1
    N:
    TEL:numero di telefono
    END:VCARD
    BEGIN:VENV
    BEGIN:VCARD
    VERSION:2.1
    N:
    TEL:
    END:VCARD
    BEGIN:VENV
    BEGIN:VBODY
    Date: data ora
    TESTO SMS
    END:VBODY
    END:VENV
    END:VENV
    END:VMSG


    Bello, incollandolo quà me lo ha messo così, dal blocco note, come già detto è tutto attaccato e su un'unica riga.

    Forse è questo il problema, aprendo sto file da C++ con ifstream e facendomi scrivere il contenuto dopo averlo messo in una char mi riporta solo il primo carattere!
    codice:
    Programma
    #include <fstream>
    #include <iostream>
    
    using namespace std;
    
    
    int main() {
    
    ifstream sms("00020001.vmg"); //Apro il file
    if(!sms) cerr << "Errore, file non trovato!"; //Imposto un controllo
    char contenuto[100]; //Crea char
    sms.getline(contenuto, 100); //riempo char con contenuto file
    cout << contenuto << endl; //Stampo char
    
    system("PAUSE");
    return 0;
    }
    
    Risultato:
     ■B
    Premere un tasto per continuare . . .
    Mi sa che non è normale questo file...idee???


    Altra domanda ( per il passo successivo ) è: come faccio a crearmi un elendo dei files in una directory per poi poterli leggere uno ad uno col programma di cui sopra?



    Per oggi basta! Ciauz

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Prova questo:

    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    
    using namespace std;
    
    
    int main() {
    
    ifstream f("file.vmg");
    string str;
    
    while(getline(f, str)) {
    cout << str << endl;
    }
    return 0;
    }
    copiando il contenuto che hai postato in un file mi funziona

    per la seconda domanda, che io sappia il C++ ANSI non ha una funzione per ottenere la lista dei files in modo standard; nonostante tutto mi sembra che qualcuno, mi sembra un moderatore, abbia postato una funzione che lo faceva, magari la tiri fuori.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Originariamente inviato da netarrow
    Prova questo:

    copiando il contenuto che hai postato in un file mi funziona

    per la seconda domanda, che io sappia il C++ ANSI non ha una funzione per ottenere la lista dei files in modo standard; nonostante tutto mi sembra che qualcuno, mi sembra un moderatore, abbia postato una funzione che lo faceva, magari la tiri fuori.

    Mitico!! Ora scheggia che è una bellezza!!
    E' proprio quel file che è un po' balordo e devo trattarlo in modo un po' strambo!


    Ora sto scrivendo il codice per estrarre i dati che mi interessano e sembra andare tutto bene!


    Mi sembra di aver letto, quando ho cercato nel forum prima di aprire una richiesta di aiuto, di una cosa come dici tu ma avevo lasciato perdere perchè era secondaria

    Più tardi la vado a ripescare!

    DevC++ torno da te

  4. #4
    E' spuntato un problemino:

    come faccio a trovare la lunghezza di una string?

    strlen, lenght stringLen ( se nn ricordo male il nome ) non vanno.. danno 0 o quando va bene 1!

    Non mi accetta nemmeno di confrontarlo con '\0'!

    Ah c'è un sacco di spazi nella stringa, precisamente uno tra ogni carattere...

  5. #5
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    se fai

    codice:
    int size = str.size();
    ottieni la lunghezza dell'oggetto string.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  6. #6
    Perfetto! Ne sai davvero troppe!
    Ecco il risultato di un'oretta di prove!
    Ero un po' arruginito





    Ora manca solo che si peschi da solo i file e ho finito!




    PS: Si, l'ho mandato davvero ad una amica

  7. #7
    Ho trovato il post dove indica come fare ma:

    -Nella prima indicazione c'è codice che a me, reduce da uno scarso esame di Fond. Info. A", è incomprensibile..
    -Nella seconda non riesco a combilarlo xk è una specie di catena...richiama funzioni su un altro sorgente..che a sua volta ne chiama altre...


    Pazienza!
    Per ora mi accontento di modificare il mio per far immettere il nome del file da cui prendere i dati

    Grazie mille ancora!!

    Ciao!

  8. #8
    puoi utilizzare le API di windows... o il caro e vecchio DOS:
    (p.s. gli esempi sono per il C... basta fare un porting) http://forum.html.it/forum/showthrea...&highlight=dir
    ...Terrible warlords, good warlords, and an english song

  9. #9
    Originariamente inviato da Johnny_Depp
    puoi utilizzare le API di windows... o il caro e vecchio DOS:
    (p.s. gli esempi sono per il C... basta fare un porting) http://forum.html.it/forum/showthrea...&highlight=dir
    Ho usato il caro e vecchio DOS!Non sapevo di questa possbilitià....

    Ora è perfetto!!

    Grazie ragazzi!



    P.S.: Se serve metto a disposizione il sorgente senza problemi.

  10. #10
    Sempre a chi è interessato, ecco uno screenshot del funzionamento del programma:


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.