Выполните цикл до следующей строки во входном файле, используя do while - PullRequest
0 голосов
/ 09 декабря 2018

В основном я пытаюсь использовать массивы и strtok для извлечения времени и IP-адреса из входного файла, с которым я работаю.Моя проблема в том, что входной файл представляет собой длинный список, и мне нужно сделать это для каждой строки в файле .txt, но всякий раз, когда я пытаюсь поместить свой код в цикл do while с помощью feof (input_poiter), он больше не будет выполняться даже один раз.вот что у меня есть;

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

int main()
{
//Variable & Array Declarations
char extractArray[70];
char timeStampArray[20];
char junkArray[20];
char ipAddressArray[30];

//Output File Set Up
FILE *input_fptr;
FILE *output_fptr;
output_fptr = fopen("OutputExampleFile.txt", "w");
input_fptr = fopen("InputExampleFile.txt" , "r");


do
{
    fgets(extractArray, 300, input_fptr);;

    strcpy(timeStampArray, strtok(extractArray, "[]"));
    strcpy(junkArray, strtok(NULL, " ]"));
    strcpy(junkArray, strtok(NULL, " ]"));
    strcpy(ipAddressArray, strtok(NULL, " ]"));

    fprintf(output_fptr, "|%s|\t", timeStampArray);
    fprintf(output_fptr, "|%s|\t", ipAddressArray);


}while(!feof(input_fptr));

fclose(output_fptr);
fclose(input_fptr);

return 0;
}
...