Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    41

    [C++] problema apertura file in rete locale

    Buonasera,
    sto scrivendo un programma in c++ che si occupa di aprire un file e contarne i record incrementando 1 contatore per ogni riga letta
    il programma funziona se apro dei file sul disco c, ma se utilizzo dei file nella rete locale il valore del contatore rimane a 0 e non riesco a capire il perchè!

    codice:
    		
    int ContaRecord()
    {	char tmp[5000];//variabile in cui viene scritta la riga del file ai fini del conteggio
    	string path; //contiene il path del file da aprire
    	int x=0; //contiene il numero dei record
    	ifstream f;
    	
    	path=SceltaFile();
    	cout<<"OK";
    	path=CorreggiPath(path);
    	cout<<path;
    	f.open(path);
    	while(f.getline(tmp,5000))
    		x++; //n record
    	f.close();
    	return x;
    }
    questo è la funzione con cui conto i record
    grazie in anticio

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Ma ti sei assicurato che il file venga aperto dopo la

    f.open(path);

    ?

    Non controlli eventuali errori ...

    E inoltre, cosa c'è dentro path esattamente prima della open?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    41
    prima del f.open(path) in path c'è il percorso in rete del file però il contatore rimane ugualmente a 0

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Hai letto completamente il mio post?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    41
    ah si scusa
    ecco il codice:

    codice:
    int ContaRecord()
    {	char tmp[5000];//variabile in cui viene scritta la riga del file ai fini del conteggio
    	string path; //contiene il path del file da aprire
    	int x=0; //contiene il numero dei record
    	ifstream f;
    	
    	path=SceltaFile();
    	cout<<"OK";
    	path=CorreggiPath(path);
    	cout<<path;
    	f.open(path,ifstream::in);
    	if(f != NULL)
    	{	while(f.getline(tmp,5000))
    			x++; //n record
    		f.close();
    	}
    	else
    		cout<<"Errore nell'apertura del file";
    	return x;
    }

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Non ho capito dalla tua risposta se hai un errore o no ...

    Forse non sono stato chiaro ... mi spiego nuovamente ...

    Prima non controllavi se c'erano errori dopo l'apertura del file ... adesso lo fai e quindi devo supporre che viene eseguita la while e non hai un messaggio d'errore ... è così?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    41
    si esatto, solo che se il file lo prendo dalla rete non entra neanche nel while e se lo prendo dal dico c lo esegue ma mi da dei valori inesatti

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Ma se lo prendi dalla rete, ti visualizza il messaggio

    Errore nell'apertura del file

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

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    41
    no! non mi da nessun errore! mi rimane a 0 il contatore

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Ma sei sicuro di non avere errori di compilazione?

    La open dovrebbe essere

    f.open(path.c_str(), ifstream::in);

    e non come l'hai scritta ...
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.