c++ - 使用 getline() 从文本文件中读入行并将 push_back 读入对象 vector

标签 c++ class object vector getline

当涉及到类和对象时,我在弄清楚如何正确使用 getline() 时遇到了问题。我需要读取 string 类型的行,然后使用 push_back 将它们添加到 myVec vector 中。这是我目前拥有的:

vector<myClass> read_file(string filename)
{
    vector<myClass> myVec;
    myClass line;
    ifstream inputFile(filename);
    if (inputFile.is_open())
    {
        while (inputFile.getline(inputFile, line)) // Issue it here.
        {
            myVec.push_back(line);
        }
        inputFile.close();
    }
    else
        throw runtime_error("File Not Found!");

    return myVec;
}

假设类 myClass 已经实现。

感谢您的帮助。

最佳答案

您对 getline 的使用与签名不匹配 - 您的参数类型错误。

istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );

如果你想根据你读取的字符串向vector中添加一个myClass元素,你必须先构造它,然后再推回去。

关于c++ - 使用 getline() 从文本文件中读入行并将 push_back 读入对象 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390500/

相关文章:

c++ - 着色器存储 block 与统一 block

c++ - double 类型的参数与参数类型双指针不兼容

c++ - 在声明后使用方法扩展类功能

java - 如何在实例化类时运行代码?

c++ - 错误地检测矩形之间的碰撞

c++ 通过 const 指针或对 const 指针的引用传递

java - 使用 JAXB 将 Xml 字符串转换为对象

C#.NET : How do I create a new instance of a class based solely on a "Type" object?

c++ - 在多个对象中初始化预定义成员变量的正确方法是什么?

java从另一个类调用方法