Я работаю над заданием, которое связано с чтением данных из текстового файла и разбором этих данных в различных массивах.Например, часть моего текстового файла выглядит следующим образом:
arbrick pts/26 141.219.210.189 Thu Mar 29 11:23 - 11:24 (00:00)
rjmcnama pts/27 141.219.205.107 Thu Mar 29 11:02 still logged in
ajhoekst pts/26 99.156.215.40 Thu Mar 29 10:59 - 11:08 (00:08)
eacarter pts/31 141.219.162.145 Thu Mar 29 10:50 - 10:51 (00:00)
kmcolema pts/31 141.219.214.128 Thu Mar 29 09:44 - 09:47 (00:03)
Мне нужно разобрать данные в следующие массивы: идентификатор пользователя, терминал, IP-адрес и время события.Как я могу сделать это, учитывая, что между столбцами нет постоянного пробела?
РЕДАКТИРОВАТЬ: Я попытался использовать предложение, которое предоставил Thiruvalluvar, но я просто не мог заставить его работать.Однако я переключился на sscanf, и он работает довольно хорошо почти ...
while(!feof(myfile)) {
fgets(buffer, 256, myfile);
sscanf(buffer, "%s %s %s %s", user_id[i], terminal_id[i], ip_addr[i], events[i]);
} /*End while not EOF*/
Что работает, так это массивы user_id, Terminal_id и ip_addr.Тем не менее, массив событий пока не работает идеально.Поскольку массив событий представляет собой строку, содержащую пробелы, как я могу использовать sscanf, чтобы добавить остаток буфера в массив событий?