0
我有充分數據的文本文件格式(這是從一個三維圖形編輯器.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
和我使用下面的代碼整數解析到一個數組...
#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;
}
然而,輸出具有額外的零的在中間的3個數字如下:
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
有人可以請解釋爲什麼我收到了額外的數字嗎?
由於提前,
邁克
' 「EC 」' - >'「 EC \ N」 的'' – BLUEPIXY
你的緩衝區大小10'是不是大到足以容納'13 -13 8 eeeeec'。使用一個合理的規模 - 也許4096,或者只是1024,或256 –
感謝BLUEPIXY這是什麼問題了。 –