没有everloaded函数的实例“;Getline";匹配参数列表 这个问题有很多变化,但所有的答案都假设用户对C++如何工作有很好的基础知识。作为初学者,这对我不好

没有everloaded函数的实例“;Getline";匹配参数列表 这个问题有很多变化,但所有的答案都假设用户对C++如何工作有很好的基础知识。作为初学者,这对我不好,c++,C++,我有一个非常简单的子程序,试图从csv文件打印单个项目 void parseCSV() { int line = 0; ofstream myFile("C:/Users/joe-p/Documents/Book1.csv"); getline(myFile, line, ','); } “Getline”被标记为错误:“everloaded函数“Getline”的实例与参数列表不匹配” 这是非常令人沮丧的,因为我知道答案是我已经读过的多个答案,但

我有一个非常简单的子程序,试图从csv文件打印单个项目

void parseCSV() 
{
    int line = 0;
    ofstream myFile("C:/Users/joe-p/Documents/Book1.csv");
    getline(myFile, line, ',');
}
“Getline”被标记为错误:“everloaded函数“Getline”的实例与参数列表不匹配”

这是非常令人沮丧的,因为我知道答案是我已经读过的多个答案,但是复制示例代码并试图让自己这样做对我来说是行不通的。

这不是我的工作方式


您需要以字符串形式读取,然后将字符串转换为整数。

of stream myFile(“C:/Users/joe-p/Documents/Book1.csv”)
是一个输出流,要调用
getline
,您需要使用和输入流。

问题:

  • std::getline
    第一个参数应该是输入流
    std::ofstream
    是一个输出流
  • std::getline
    std::string&
    作为第二个参数,而不是
    int
  • 解决方案:

    您可能应该以
    std::ifstream
    的形式打开文件,并使用
    std::ifstream::operator>
    填充
    std::string
    ,然后将其解析为
    int

    其他信息:

  • 使用名称空间std被认为是一种不好的做法(更多信息)
  • 完整代码:

    void parseCSV()
    {
    std::字符串行;
    ifstream myFile(“C:/Users/joe-p/Documents/Book1.csv”);
    getline(我的文件,行',');
    int num=std::stoi(行);
    
    std::这是非常有用的信息,谢谢!不过,这段代码本身不会打印任何数据,我也不知道需要做哪些更改才能实现这一点。要打印第1行第1列中的项目,我需要对其进行哪些修改?如果我得到一个这样的示例,我应该能够从嗯。