使用getline从文本文件中读取

时间:2018-01-20 05:56:43

标签: c++ c++14

假设我们有一个文本文件,其中包含第一行中的行和列以及前一行中的名称和等级。我们如何读取第一行,从中获取信息,并在循环中读取前面的行,并传入指针数组。我试图做类似下面的代码,但它不会打印出来。

while (inputFile.good()) {
        getline(inputFile, accessInputFilesInfo);
        istringstream accessFiles(accessInputFilesInfo);
        accessFiles >> rows >> cols;
          while (getline(inputFile, accessInputFilesInfo)) {
            accessFiles >> firstName >> lastName;
            studentName = firstName + " " + lastName;
            arrayOfStudentNames[i] = studentName;
            i++;

1 个答案:

答案 0 :(得分:0)

如果您正在谈论相同的输入文件,则不需要其他输入流。如果第一行包含行号和列号,其余行包含学生的名字和姓氏,您应该可以这样做。

std::ifstream inputFile("somefile.txt");
if (inputFile.is_open())
{
    int rows, cols;
    inputFile >> rows >> cols;
    inputFile.ignore(numeric_limits<streamsize>::max(), '\n');

    std::string studentName;
    while (std::getline(inputFile, studentName))
    {
        // process student name if needed and
        // place result in arrayOfStudentNames
    }
    inputFile.close();
}