У меня небольшая проблема с моей программой. У меня есть функция void loadData()
, которая загружает данные из текстового файла customers.txt
и сохраняет каждую строку данных в связанном списке. Меня беспокоит, в частности, как работает ввод / вывод. Мне удалось получить данные из текстового файла и сохранить их в переменной-члене связанного списка. Когда я вызываю эту переменную, я получаю ответ, который хочу напечатать на консоли.
std::cout << "Group Name: " << tempCustomer->groupName << std::endl;
Однако позже я решил запустить консольную команду вывода в функции, чтобы проверить, все ли переменные имели правильные данные, я понимаю, что это было повсеместно. Я не уверен, почему это не работает.
Вот функция loadData()
void Groups::loadData(){
fin.open("customers.txt");
char holder[MAX_SIZE];
if(!fin.is_open())
std::cerr << "Could not access file" << std::endl;
else{
while(!fin.eof()){
Customers *tempCustomer = new Customers;
fin.getline(holder,MAX_SIZE,';');
tempCustomer->groupName = holder;
std::cout << "Group Name: " << tempCustomer->groupName << std::endl;
fin.getline(holder,MAX_SIZE,';');
tempCustomer->name = holder;
fin.getline(holder,MAX_SIZE,';');
tempCustomer->email = holder;
fin >> tempCustomer->choice;
fin.get(); //gets the last character, which is '\n'
fin.ignore(); //ignores the next character which is the '\n'
tempCustomer->next = NULL;
std::cout << "What does the temp Node Store?" << std::endl;
std::cout << "Group Name: " << tempCustomer->groupName << std::endl;
std::cout << "Name: " << tempCustomer->name << std::endl;
std::cout << "Email: " << tempCustomer->email << std::endl;
std::cout << "Choice: " << tempCustomer->choice << std::endl;
//addCustomerToLL(tempCustomer);
tempCustomer = NULL;
delete tempCustomer;
}
}
fin.close();
}
Вот консоль, поставленная:
Group Name: Jonathan Group
What does the temp Node Store?
Group Name: vazquez.jonathan@pcc.edu
Name: vazquez.jonathan@pcc.edu
Email: vazquez.jonathan@pcc.edu
Choice: 2
Вот текстовый файл customers.txt
Jonathan Group;Jonathan;vazquez.jonathan@pcc.edu;2
Это школьное задание, я должен хранить всех клиентов из текстового файла в связанном списке. Я также использую строки c в качестве строк, а не версию строк на c ++. Дайте мне знать, если другие файлы необходимы, я не включил их, так как в этой функции ничего не используется, кроме как в закрытой переменной ifstream fin;
, которую я имею в классе, и в глобальной переменной const int MAX_SIZE = 256;
.