Я использую fscanf для сканирования отформатированного файла .srt, однако столкнулся с проблемой, с которой не могу обойтись, так как я довольно новичок в C.
Я попытался прочитать файл char за символом, но в итоге получился огромный беспорядок, который я не смог отладить
if (input == NULL)
{
printf("File doesn't exist, exiting!\n");
exit(1);
}
printf("File opened!\n");
int order; //number of line
int csh; //hh
int csm; //mm
int css; //ss
int csms; //ms
int ceh; // same order as above
int cem;
int ces;
int cems;
char* text = calloc(256, sizeof(char));
char c;
int count = 0;
while ((i = fscanf(input, "%d\n%d:%d:%d,%d --> %d:%d:%d,%d\n%10s", &order, &csh, &csm, &css, &csms, &ceh, &cem, &ces, &cems, text) > 0) )
{
count++;
printf("%d\n%d:%d:%d,%d --> %d:%d:%d,%d\n%s", order, csh, csm, css, csms, ceh, cem, ces, cems, text);
if (count == 2)
{
int xyx;
scanf_s("%d", &xyx);
}
}
Итак, я пытаюсь прочитать отформатированный файл и сохранить данные в двусвязном списке, и файл выглядит следующим образом
![enter image description here](https://i.stack.imgur.com/I0B4x.jpg)
Etc. Файл огромный, целые субтитры Phantom Menace, я считаю, поэтому у меня две проблемы, мой код не читает весь текст, когда он заканчивается со временем, и, во-вторых, он не проходит счетчик 2, который я использовал просто для проверки программы.
Я получаю этот вывод
![enter image description here](https://i.stack.imgur.com/nWxut.jpg)