Как читать данные двух файлов одновременно?
#include <stdio.h> #include <string.h> #define MAXC 1024 #define MAXDT 16 int main (int argc, char **argv) { char datestr[MAXDT]; unsigned dateval; char buf[MAXC]; FILE * fp = fopen("file.csv", "r"); if (!fp) { perror ("file open failed"); return 1; } while (fgets (buf, MAXC, fp)) { unsigned mo, day, yr; char *p = strrchr (buf, ','), tmpstr[MAXDT] = ""; unsigned tmpu = 0; if (!p) continue; if(sscanf(p + 1, "%u-%u-%4u", &day, &mo, &yr)!= 3) continue; sprintf(tmpstr, "%04u%02u%02u", yr, mo, day); if(sscanf(tmpstr, "%u", &tmpu) != 1) continue; if(tmpu > dateval){ dateval = tmpu; strcpy(datestr, p + 1); datestr[strcspn (datestr, "\n")] = 0; } } if (fp != stdin) fclose (fp); printf ("last date in file: %s\n", datestr); }
Что я уже пробовал:
В этом коде я получаю данные файла и печатаю из него последнюю дату. Что делать, если есть два файла, и я хочу прочитать оба файла одновременно? Придется ли мне использовать fgets() читать и повторять весь код снова или есть какой-то короткий метод, который заключается в том, чтобы читать оба файла и печатать их данные одновременно?
KarstenK
вы должны организовать свой код с помощью функций и структур, чтобы вы могли читать и получать доступ к данным из обоих файлов. Эти операции выполняются в миллисекундном интервале времени.