Назначение - сделать тест-грейдер. Первая строка файла - это все ответы , а следующие строки чередуются между именами студентов (LAST, FIRST), и они отвечают на следующую строку. Я могу передать ответы тестового ключа, но когда я пытаюсь использовать функцию getline(), он не сохраняет значение в первом индексе массива, а cin.ignore() просто заставляет мою программу замерзать. Куда я иду отсюда?Как читать чередующиеся строки текста в файле для разделения массивов на C++?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
typedef char answerKey[30];
typedef string studentNames[25];
int main()
{
fstream inFile;
inFile.open("xfile.txt");
if (!inFile)
{
cout << "ERROR FILE NOT FOUND" << endl;
return (EXIT_FAILURE);
} else {
for (int i = 0; i < 30; i++)
inFile >> answerKey[i];
getline(inFile, studentNames[0]);
cout << studentNames[0];
}
}
Выходные данные не принимаются.
Попробуйте выполнить операции 'inFile' вместо' cin'. 'cin' -' stdin', т. е. Консоль, которую вы можете ввести, во время работы программы. 'cin.ignore()' будет приостанавливаться до тех пор, пока вы не нажмете enter в командной строке во время его запуска. Попробуйте 'inFile.getline()'. –