Читайте строки и сохраняйте в структуре в C - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь прочитать некоторые значения из файла и сохранить их в структуре, но я не понимаю, как хранить их как массив, так что, если мне нужно первое значение из первой строки, я могу извлечьЭто.Также я не знаю, что я делаю неправильно, он печатает последние три значения в той же переменной из структуры, а затем печатает их снова.Извините, если это базовый C, но я не полностью понял лекции, поэтому я действительно не знаю, что делать, большое спасибо заранее.Это код:

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

int main(int argc, char *argv[])
{
if(argc!=3){
    fprintf(stderr,"ERROR: 2 arguments required");
    exit(EXIT_FAILURE);
}
//first we put all the data from the file into a struct
//then we create a variable to store the distance and the speed
//then we create another variable to store first and last check
//then we make a switch and we print the informations

FILE *input=fopen(argv[1],"r");
if(input==NULL){
    fprintf(stderr,"ERROR: couldn't open the file");
    exit(EXIT_FAILURE);
}
char a=getc(input);
int n=0;
while((a = getc(input))!=EOF){
        if(a=='\n'){
            n++;
        }
        }

char ch = getc(input);
struct BBS {
char* BUS_ID[5];
char* BUS_ROUTE[3];
char* BUS_X[6];
char* BUS_Y[6];
char* BUS_TIME[6];
};
struct BBS BUS[n];
for(int i=0;i<n;i++){
while(!feof(input)){

    fscanf(input,"%s %s %s %s %s\n",&BUS[i].BUS_ID,&BUS.BUS_ROUTE[i],&BUS.BUS_X[i],&BUS.BUS_Y[i],&BUS.BUS_TIME[i]);
    printf("ID: %s\n Route: %s\n X: %s\n Y: %s\n Time: %s\n",&BUS.BUS_ID[i],&BUS.BUS_ROUTE[i],&BUS.BUS_X[i],&BUS.BUS_Y[i],&BUS.BUS_TIME[i]);
    printf("\n");
}}
fclose(input);
return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...