Chinaunix
标题:
帮忙看下,太郁闷了
[打印本页]
作者:
aopaw
时间:
2008-10-30 14:48
标题:
帮忙看下,太郁闷了
#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 编辑
]
作者:
aopaw
时间:
2008-10-30 15:02
bunny.pdf
(28.58 KB, 下载次数: 23)
2008-10-30 15:02 上传
点击文件名下载附件
这是附件,就是要读的文件bunny_1k.obj我改了名了
作者:
nhuczp
时间:
2008-10-30 15:21
fp=fopen(".\\bunny_1k.obj","rb+");
把路径改成完整的路径。
作者:
aopaw
时间:
2008-10-30 15:35
不是这个原因,这个程序在linux和里都能跑,那个只是linux下的路径, 有人和我说数组不够长,也不正确。v一共502个f一共1000个
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2