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

    C++ Estrarre da un flie di testo un valore numerico

    Caio a tutti!
    Sono alle prime armi con C++ e da poco ho iniziato a lavorare con dei file di testo.
    Il problema è questo: voglio estrarre da un file di testo dei valori, ho provato a usare questo codice:
    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    
    int main() {
    	fstream copiafile("file.txt");
    	if(copiafile.is_open()){
    		cout<<"file aperto con successo\n";
    	}
    	else{
    		cerr<<"errore di apertura file";
    		exit(-1); 
    	}
        string v1="";
    	string dati="";
    	while(getline(copiafile,dati)){
    		v1=dati;
    
    
    	}
    	cout<<v1<<endl;
    }
    In questo modo, però, riesco ad estrarre i dati solo sottoforma di stringa, a me, invece, servono dei dati numerici!
    Qualcuno sa suggerirmi come fare ad estrarre dal file di testo una riga sottoforma di valore numerico intero??
    Grazie in anticipo!

  2. #2
    Ci sono più modi per fare quello che dici... si potrebbe farein modo più efficace usando FILE di C, oppure potresti usare la funzione atoi() per convertire da stringa a numero, un cosa del tipo:
    codice:
    char string[] = "3";
    int numero = atoi(stringa); //numero conterrà 3.
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  3. #3
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: C++ Estrarre da un flie di testo un valore numerico

    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    int main() {
    	fstream copiafile("file.txt");
    	if(copiafile.is_open()){
    		cout<<"file aperto con successo\n";
    	}
    	else{
    		cerr<<"errore di apertura file";
    		// exit(-1);  MAI in C++!!!!!!
                   return -1; 
    	}
            int v1(0);
    	while(copiafile >> v1) {
            	cout<<v1<<endl;
    	}
    }
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  4. #4
    Si se dovevi solo mostrarlo a video ok, ma allora non avrebbe neanche senso convertirlo
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  5. #5
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    L'OP chiedeva una conversione. Quello che ci deve fare con l'int lo sa lui, non io.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  6. #6
    Grazie mille a tutti e due!!
    Comunque non ho risolto il problema: con il codice di shodan il programma copia l'intero file in "v1", a me invece serve che "v1" contenga solo il numero della prima riga del file di testo. Riguardo al codice di Emulator, non sono riuscito ad applicarlo: dati NON può essere una variabile di tipo char (usando la funzione getline), ma solo una stringa. Quindi con atoi() non posso convertirla.
    Vi ringrazio ancora per la vostra disponibilità!

    PS: comunque non mi serve il valore contenuto nel testo solo per stamparlo a video.

  7. #7
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Basta togliere il while.
    codice:
           int v1(0);
    	copiafile >> v1
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  8. #8
    Ho capito!! Grazie mille shodan!!!

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.