Lendo em um arquivo de texto em C, separe as linhas em várias variáveis
Atualmente, estou trabalhando em um programa que simula vários métodos de agendamento da CPU. Atualmente, tenho o programa pedindo informações:
printf("Enter type of CPU scheduling algorithm (SJF, RR, PR_noPREMP, PR_withPREMP): ");
scanf("%s", typeOf);
printf("Enter number of processes: ");
scanf("%d", &numPro);
struct processStruct structs[numPro];
int burstTimes[numPro];
for (i = 0; i < numPro; i++) {
printf("Enter process number: ");
scanf("%d", &structs[i].pNum);
printf("Enter arrival time: ");
scanf("%d", &structs[i].arTime);
printf("Enter CPU burst time: ");
scanf("%d", &structs[i].cpuBur);
printf("Enter priority: ");
scanf("%d", &structs[i].prio);
}
Além das duas variáveis typeOf (um int) e numPro (um array de caracteres), também estou usando uma estrutura de dados.
Aqui está a estrutura de dados que contém os vários parâmetros:
struct processStruct {
int pNum;
int arTime;
int cpuBur;
int prio;
int waitTim;
};
Em vez da entrada manual, eu gostaria de usar um arquivo de texto com as mesmas informações da entrada do programa. O arquivo de texto ficaria assim:
SJF
4
1 0 6 1
2 0 8 1
3 0 7 1
4 0 3 1
Primeira linha é o nome do algoritmo de agendamento. Segunda linha é o número de processos. As seguintes linhas consistem em informações para cada processo. Então 1 0 6 1 = Processo = 1, 0 = Hora de chegada, 6 = Tempo de burst da CPU, 1 = Prioridade
Infelizmente, tenho pouca experiência em usar entrada de arquivo de texto com C. Alguém tem idéias sobre como eu poderia ler os dados do arquivo de texto nas variáveis e na estrutura de dados?
Obrigado
Edit: Um dos problemas que estou tendo é que os dados não são os mesmos para cada linha. Se fossem apenas as linhas de 4 números, seria relativamente fácil. Eu preciso do programa para ler a primeira linha em uma matriz de caracteres (string), a segunda na variável numPro e as linhas subsequentes em várias instâncias da estrutura de dados (uma para cada processo).