Hier ist der Code meiner Funktion:fgets liest drei '' n“, wenn meine Datei mit Text beginnt
char str[DIM_STR];
char tipo[DIM_TIPO];
int j=0, var=0;
for(j=0; j<DIM_STR; j++)
str[j]='\0';
for(j=0; j<DIM_TIPO; j++)
tipo[j]='\0';
while(fgets(str, DIM_STR, fp)!=NULL){
if(str[0]=='\n')
{
printf("line %d,LINHA EM BRANCO\n", var);
}
else
{
sscanf(str, "%s", tipo);
if(strcmp(tipo, "JANELA")==0){
sscanf(str, "%s %d %d", tipo, &info_janela[DIM_JANELA][DIM_X], &info_janela[DIM_JANELA][DIM_Y]);
}
if(strcmp(tipo, "X")==0){
sscanf(str, "%s %d %d", tipo, &info_janela[DIM_FIS_X][X_FIS_MAX], &info_janela[DIM_FIS_X][X_FIS_MIN]);
}
if(strcmp(tipo, "Y")==0){
sscanf(str, "%s %d %d", tipo, &info_janela[DIM_FIS_Y][Y_FIS_MAX], &info_janela[DIM_FIS_Y][Y_FIS_MIN]);
}
if(strcmp(tipo, "C")==0){
sscanf(str, "%s %d %d", tipo, &info_janela[CENTRO_REF][X_0], &info_janela[CENTRO_REF][Y_0]);
}
if(strcmp(tipo, "ESTRELAS")==0){
sscanf(str, "%s %d", info_tamanho[ESTRELAS].tipo, &info_tamanho[ESTRELAS].tamanho);
}
if(strcmp(tipo, "PLANETAS")==0){
sscanf(str, "%s %d", info_tamanho[PLANETAS].tipo, &info_tamanho[PLANETAS].tamanho);
}
if(strcmp(tipo, "ASTEROIDES")==0){
sscanf(str, "%s %d", info_tamanho[ASTEROIDES].tipo, &info_tamanho[ASTEROIDES].tamanho);
}
if(strcmp(tipo, "FRAGMENTOS")==0){
sscanf(str, "%s %d", info_tamanho[FRAGMENTOS].tipo, &info_tamanho[FRAGMENTOS].tamanho);
}
}
var++;
}
Liste definiert:
#define DIM_TIPO 10
#define DIM_INFO_CORPOS 4
#define DIM_STR 100
#define DIM_JANELA 0
#define DIM_X 0
#define DIM_Y 1
#define DIM_FIS_X 1
#define X_FIS_MIN 0
#define X_FIS_MAX 1
#define DIM_FIS_Y 2
#define Y_FIS_MIN 0
#define Y_FIS_MAX 1
#define CENTRO_REF 3
#define X_0 0
#define Y_0 1
#define ESTRELAS 0
#define PLANETAS 1
#define ASTEROIDES 2
#define FRAGMENTOS 3
Dies ist die Datei:
Es beginnt mit Text - JANELA ..., also warum liest es zuerst 3 Leerzeilen?
Hier ist die Ausgabe:
line 1,BLANK LINE
line 4,BLANK LINE
line 6,BLANK LINE
600
400
-1000
1000
-900
900
300
200
EDIT: Hier ist die Datei: https://www.dropbox.com/s/ky1ctic8f35y81j/sim_config.txt?dl=0
Blick auf den Inhalt der Eingabedatei einen Hex-Dumper/-Editor verwenden. – alk
Auch: Wie ist 'str' definiert? – alk
Und nach diesen drei neuen Zeilen, was bekommst du dann? – alk