Я пытаюсь сделать этот фрагмент кода лучше. То, что в основном делает этот код, принимает имя файла, которое затем читает файл. Обратите внимание, что в файле есть комментарий сверху или строка строки, которая заканчивается на \n
, но этот код, как мне кажется, пропускает и начинает брать символ с 512, но я не уверен.
void RunList(char *filename)
{
List <int> list;
ListItr <int> listItr = list.zeroth();
ifstream inf(filename);
char command, s[512];
int value;
inf.getline(s,512);
while (inf >> command >> value)
{
if (command == 'i')
list.insert(value, listItr);
else
list.remove(value);
}
}
Вот что у меня есть до сих пор, когда я узнал о .ignore
и о том, что я мог понять, чтобы сделать его лучше.
Я не до конца понимаю линию char command, s[512]
и как она играет роль в в то время как l oop.
void RunList(char *filename)
{
List<int> myList;
ListItr<int> myItr = myList.zeroth();
ifstream inf(filename);
file.ignore(256, '\n');
char command , s[1];
int value;
inf.getline(s,1);
while (inf >> command >> value)
{
if (command == 'i')
list.insert(value, MyItr);
else
list.remove(value);
}
Редактировать: вот фрагмент файла, который читается. Файл имеет 500000 ввод char, за которым следует int ex: i13. Например, первая строка является строкой, а затем за ней следует тонна этих символов.
Имеет серию из 500 000 вставок в порядке от 1 до 500000
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20 i21 ...