У меня есть вопрос о том, как читать данные из моего входного файла .dat, используя isstream для использования в качестве реализации аккордов
У меня есть входы различной длины и типа. пример моего ввода показан ниже:
addC 2 # игнорировать это сообщение
addC 3 # игнорировать это сообщение
addC 9 # игнорировать это сообщение
печать 9
вставить 2 data0
вставить 9 данных1
вставить 3 data2
Я хотел бы захватывать каждую строку ввода за строкой, игнорируя любые сообщения за ключом #.
То, что я сделал до сих пор, выглядит следующим образом:
if (myfile.is_open())
{
while (getline(myfile, line))
{
string command;
string id;
string input;
unsigned int hashKey = 0;
istringstream iss(line);
getline(iss, command, ' ');
getline(iss, number, ' ');
getline(iss, message, '#');
//other codes
}
}
однако, когда я читаю в своем файле, кажется, что он иногда читает больше, чем требуется. например,
// первые несколько команд до вставки 0 в порядке
команда = вставить номер = 2 вход = данные0
ВСТАВКА data0 в: 2
команда = вставить номер = 9 вход = данные1
команда = вставить номер = 3 ввода = данные2
// программа останавливается из-за ошибки чтения
Задача ещё не решена.