2015-11-02 132 views
0

當我嘗試運行以下程序時,我從getline()調用中收到以下錯誤。getline();錯誤使用C++

的消息是:

In function 'int main()': 
error: no matching function for call to 'getline(std::ofstream&, std::string&)' 

我不知道爲什麼我得到這個 - 我已經包括string庫。

我的代碼:

#include <iostream> 
#include <fstream> 
#include <string> 

using namespace std; 

int main() 
{ 
    int NumeroLetras; 

    cout << "Juego de El Ahorcado\n--------------------\n" << endl; 

    cout << "N\243mero de letras de la palabra: "; 
    cin >> NumeroLetras; 

/*    Creamos el fichero con las palabras a adivinar 
------------------------------------------------------------------------*/ 
    cout << "Creando fichero con palabras..." << endl; 
    ofstream fichero("palabras.txt"); 
    fichero << "baloncesto\n"; 
    fichero << "beisbol\n"; 
    fichero << "futbol\n"; 
    fichero << "golf\n"; 
    fichero << "rugby\n"; 
    fichero << "tenis\n"; 
    fichero << "boxeo\n"; 
    fichero << "sumo\n"; 
    fichero << "judo\n"; 
    fichero << "nascar\n"; 
    fichero << "atletismo\n"; 
    fichero << "caminata\n"; 
    fichero << "ciclismo\n"; 
    fichero << "esgrima\n"; 
    fichero << "natacion\n"; 
    fichero << "polo\n"; 
    fichero << "clavados\n"; 
    fichero << "remo\n"; 
    fichero << "vela\n"; 
    fichero << "ajedrez\n"; 
    fichero.close(); 
    cout << "Fichero creado exitosamente..." << endl; 

/*    Determinamos el tamaño de las palabras 
------------------------------------------------------------------------*/ 
    string Palabra; 

    fichero.open("palabras.txt"); 

    while (! fichero.eof()) 
    { 
     getline(fichero, Palabra); 

     cout << Palabra << endl; 
    } 

    return 0; 
} 

爲什麼我得到這個錯誤?

+0

請注意,您不應將僅C++問題標記爲「C」。我會爲你刪除堵嘴。 – juanchopanza

+0

ups,對不起男人,我沒有注意到它。 –

回答

4

您正在試圖從ofstream輸出文件流)來讀取

創建一個新的變量ifstream並從中讀出。

+0

謝謝你,讓我再問你一件事。 我做了更改,我又遇到了另一個錯誤:「ifstream fichero(」palabras.txt「);」。爲什麼?。 –

+3

@RobertGomez _「......但讓我再問你一件事。」_不,每個問題請提出一個問題!否則,它不適合所需的堆棧溢出格式。 –

+0

創建一個新問題,你會得到一個答案。 –