Ich habe eine Textdatei in diesem Format mit Daten gefüllt bekommen (es ist die Ausgabe von 3D-Grafik-Editor .vox-Format) ...Des Versuch, eine Datei in ein Array zu analysieren, aber zusätzliche Ziffern
6 -13 8 eeeeec
13 -13 8 eeeeec
6 -12 8 eeeeec
6 -11 8 eeeeec
6 -10 8 eeeeec
1 -9 8 eeeeec
2 -9 8 eeeeec
3 -9 8 eeeeec
und ich verwende den folgenden Code, um die ganzen Zahlen in ein Array zu analysieren ...
#include<stdio.h>
int array[10000];
char *p;
int main()
{
FILE *ptr_file;
char buf[10];
ptr_file =fopen("AntAttackMap.txt","r");
if (!ptr_file)
return 1;
long index = 0;
while (fgets(buf,10, ptr_file)!=NULL)
{
p = strtok(buf, " ec");
while (p != NULL)
{
int num = atoi(p);
array[index]=num;
printf ("%d ",num);
p = strtok (NULL, " ec");
if (p != NULL) index++;
}
}
fclose(ptr_file);
printf("TOTAL %d, ",index);
return 0;
}
jedoch der Ausgang zusätzliche Nullen hat sich zwischen den drei Ziffern wie folgt:
6 -13 8 0 13 -13 8 0 6 -12 8 0 6 -11 8 0 6 -10 8 0 1 -9 8 0 2 -9 8 0 3 -9 8 0
Kann mir bitte jemand erklären, warum ich die zusätzlichen Ziffern bekomme?
Vielen Dank im Voraus,
Mike
'" ec "' -> '" ec \ n "' – BLUEPIXY
Ihre Puffergröße von '10' ist nicht groß genug, um' 13 -13 8 eeeeec' zu speichern. Verwenden Sie eine vernünftige Größe - vielleicht 4096 oder vielleicht nur 1024 oder 256. –
Dank BLUEPIXY war das, was das Problem war. –