を取得しようとすると、私は(それは3Dグラフィックエディタ.vox形式の出力です)この形式のデータのフルテキストファイルを持っている...配列にファイルを解析しますが、余分な数字
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
と
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
:私は次のようにしかし、出力は余分なゼロ年代の-間の3桁の数字を持っている...配列に整数を解析する
#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;
}
を次のコードを使用しています10
誰かがなぜ私は余分な数字を取得している理由を説明してくださいできますか?事前に
おかげで、
マイク
'' ec "' - "' ec \ n "' – BLUEPIXY
あなたのバッファサイズ '10'は' 13 -13 8eeeeec'を保持するのに十分な大きさではありません。実用的なサイズを使用してください - おそらく4096、おそらく1024または256だけです。 –
問題は何だったのBLUEPIXYありがとう。 –