getline ifstream出错

时间:2014-04-30 22:56:27

标签: c++ ifstream getline

我得到的错误是“没有匹配函数调用getline(const char *&,String *&)”。我试图从文本文件中获取一行,其中一行的例子是:4:17,黑暗联盟。我需要使用getline的原因是因为在我获得该行之后我需要根据歌曲长度和标题之间的逗号(分隔符)将其分成两部分。任何帮助表示赞赏谢谢。这是代码:

  String* song_line = new String;
  song_line = getline(file_name, song_line); //here is where the error is coming in.

  Tokens* song_token = new Tokens;
  char delimiter = ",";
  song_token = createTokens(song_line, delimiter);

  String* length = getToken(song_token, 0);
  String* song_title = getToken(song_token, 1);
  addSong(cd, song_title, length);

1 个答案:

答案 0 :(得分:3)

std::getline获取istream的第一个参数,而不是char*。此外,第二个参数是std::string&,而不是std::string*

http://en.cppreference.com/w/cpp/string/basic_string/getline