- 论坛徽章:
- 0
|
- #include <stdio.h>
- typedef struct{
- float p1;
- float p2;
- float p3;
- }pointv;
- typedef struct{
- int ia;
- int ib;
- int ic;
- }pointf;
- pointv vtemp;
- pointf ftemp;
- pointv va[510];
- pointf fa[1010];
- int main(void){
- FILE *fp;
- int i=1;
- int j=0;
- char mark;
- // int end;
- fp=fopen(".\\bunny_1k.obj","rb+");
-
- fscanf(fp,"%c %f %f %f", &mark, &vtemp.p1, &vtemp.p2, &vtemp.p3);
- va[i].p1=vtemp.p1;
- va[i].p2=vtemp.p2;
- va[i].p3=vtemp.p3;
- while( mark!='f' ){
- fprintf(stdout,"%c %f %f %f\n", mark, vtemp.p1, vtemp.p2, vtemp.p3);
- i+=1;
- fscanf(fp,"%c %f %f %f", &mark, &vtemp.p1, &vtemp.p2, &vtemp.p3);
- va[i].p1=vtemp.p1;
- va[i].p2=vtemp.p2;
- va[i].p3=vtemp.p3;
- }
- fa[j].ia=(int)vtemp.p1;
- fa[j].ib=(int)vtemp.p2;
- fa[j].ic=(int)vtemp.p3;
- while( !feof(fp) ){
- j+=1;
- fscanf(fp,"%c %d %d %d", &mark, &ftemp.ia, &ftemp.ib, &ftemp.ic);
- fa[j].ia=ftemp.ia;
- fa[j].ib=ftemp.ib;
- fa[j].ic=ftemp.ic;
- fprintf(stdout,"%c %d %d %d\n",mark, ftemp.ia, ftemp.ib, ftemp.ic);
- }
- return 0;
- }
复制代码
这个是测试的程序,在原来程序中要从一个.obj文件中读数据,bug太多只好单拿出来测,就是想把文件中数据存到数组中,直接用数组去读fscanf(fp....,&fa.ia)这样的就直接出错了,但这个文件里即使用赋值的方法也不行,把赋值的3个都去掉就可以看到,弄了好长时间了,实在找不着原因。附件里那个bunny_1k.obj就是要读的文件
[ 本帖最后由 aopaw 于 2008-10-30 15:33 编辑 ] |
|