Estou com um problema com o código abaixo, ele não roda em windows somente em linux, alguém pode me ajudar por gentileza
obs: o arquivo externo do código esta em anexo
#include <stdio.h>
#include <string.h>
#define TAMC 500
#define TAML 6000
#define N 10000
int k;
void leitura(char nome[][TAMC],double *preco,int *cod,double *soma);
void ordenacao(char nome[][TAMC],double *preco,int *cod);
void maiores(char nome[][TAMC],double *preco,int *cod,double *soma);
void main(){
int n = 1000,i = 0, cod[10000];
char str[n], nome[TAML][TAMC];
double preco[N], soma=0.0;
leitura(nome,preco,cod,&soma);
ordenacao(nome,preco,cod);
maiores(nome,preco,cod,&soma);
}
void leitura(char nome[][TAMC],double *preco,int *cod,double *soma){
int i=0;
int n=100;
char str[n];
FILE *file = fopen("entrada.txt", "r");
while(fgets(str,n,file)!=NULL){
fscanf(file,"%d;%[^';'];%lf",&cod[i],nome[i],&preco[i]);
*(soma) +=preco[i];
i++;
}
k = i;
fclose(file);
}
void ordenacao(char nome[][TAMC],double *preco,int *cod){
int i,j,cod_aux;
float preco_aux=0;
char nome_aux[1][TAMC];
for (i=0;i<k;i++) {
for (j=0;j<k;j++) {
if(preco[i] >= preco[j]){
cod_aux=cod[i];
cod[i]=cod[j];
cod[j]=cod_aux;
strcpy(nome_aux[0], nome[i]);
strcpy(nome[i],nome[j]);
strcpy(nome[j],nome_aux[0]);
preco_aux=preco[i];
preco[i]=preco[j];
preco[j]=preco_aux;
}
}
}
}
void maiores(char nome[][TAMC],double *preco,int *cod, double *soma){
FILE *arq = fopen("100-Maiores.csv","wt");
int l;
for(l=0;l<100;l++){
fprintf(arq, "%d;%s;%lf;%.2lf\n",cod[l],nome[l],preco[l], *(soma) );
}
fclose(arq);
}
entrada.txt