проблема, с которой я сталкиваюсь, заключается в том, что я должен прочитать значения 7 write 0x01 0x27
из моего файла .txt, и l oop будет работать только 1 раз, давая вывод 0 - 7 1 0x01 0x27
(1 представляет запись, 0 = read, 2 = not set), но значения, которые я распечатал с помощью оператора print, показывают значения как
0 - 7 1 0x30 0x78
1 - 1 2 0x00 0x00 //where the 2 is it reads in 0x27 as a string
Итак, я пытаюсь выяснить, почему он читает дополнительные значения а не только в файле.
void ioLoad(char* name)
{
std::ifstream inF;
inF.open(name, ios_base::in);
int i = 0;
string rw;
while(!inF.eof()){
inF >> var.time[i]; //int time, from struct 'var'
inF >> rw; //string rw, should read either read or write
inF >> std::hex >> var.address[i] //unsigned char address, from struct 'var' >>PROBLEM LINE<<
if (rw == "write")
{
var.state[i] = WRITE; //stores an enum value as the state
inF >> std::hex >> var.value[i]; //unsigned char value, from struct 'var' >>PROBLEM LINE<<
}
printf("%d - %d %d 0x%02X 0x%02X\n", i, var.time[i], var.state[i], var.address[i], var.value[i]);
i++
}
inF.close()
}
любая помощь будет принята с благодарностью, и если вам нужна дополнительная информация, пожалуйста, дайте мне знать.