2015-11-02 74 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

创建一个新问题,你会得到一个答案。 –