Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605

    [C++]Lettura di un file di testo

    Ciao a tutti,
    spero qualcuno possa aiutarmi... cerco di compilare questo codice...

    codice:
    #include <iostream>
    #include <fstream>
    
    
    using namespace std;
    
    
    main()
    {	
    	string nome;
    	string filetxt;
    	cout << "inserisci il nome del file di testo da leggere:"<<endl;
    	cin >> filetxt;
    	ifstream inFile; // dichiarazione file sola lettura
    	inFile.open(filetxt); // associa la var
    	inFile >>nome;
    	cout <<"Nel file di testo cè scritto: "<<nome; //scrive sullo schermo i valri letti
    	inFile.close(); // chiusura del file
    }
    ma continua a darmi imperterrito questo errore..

    8ese.cpp: In function `int main()':
    8ese.cpp:15: error: no matching function for call to `std::basic_ifstream<char,
    std::char_traits<char> >:pen(std::string&)'
    /usr/include/c++/3.3.3/fstream:565: error: candidates are: void
    std::basic_ifstream<_CharT, _Traits>:pen(const char*, std::_Ios_Openmode)
    [with _CharT = char, _Traits = std::char_traits<char>]
    8ese.cpp:36:3: warning: no newline at end of file



    il problema non c'è se alla riga

    inFile.open(filetxt);

    la sostituisco con

    inFile.open("dati.txt");



    Naturalmente sono all'inizio eventuali madornali errori... perdonatemi...
    Buon week, (......per quelli di fuori Roma, perchè a quì diluvia VVoVe: )

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    il prototipo della funzione open è:

    void open ( const char * filename, openmode mode = in );

    ovvero il nome del file deve essere passato come un char * e non come string. Se hai una string , puoi ottenere il relativo char* con il metodo c_str():

    inFile.open(filetxt.c_str());

    per la reference del c++:

    http://www.cplusplus.com/ref/
    http://www.cppreference.com/

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Ricordati anche di aggiungere
    #include <string>


  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    605
    scusate , ma non è mia abitudine no ringranziare...
    ma avevo dei problemi con l'adsl.

    vi ringrazio quindi... perchè in effetti con
    inFile.open(filetxt.c_str());
    va alla grande...
    buona serata

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.