使用do while发出循环到输入文件下一行的问题

时间:2018-12-09 17:12:42

标签: arrays loops file-io strtok feof

我基本上想做的是使用数组和strtok从我正在工作的输入文件中提取时间和ip地址。我的问题是输入文件很长,我需要为.txt文件中的每一行执行此操作,但是每当我尝试使用feof(input_poiter)将代码放入do while循环时,它甚至都不会执行一次,这就是我所拥有的;

#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;
}

0 个答案:

没有答案