免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1266 | 回复: 3
打印 上一主题 下一主题

帮忙看下,太郁闷了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-30 14:48 |只看该作者 |倒序浏览

  1. #include <stdio.h>
  2. typedef struct{
  3.     float p1;
  4.     float p2;
  5.     float p3;
  6. }pointv;

  7. typedef struct{
  8.     int  ia;
  9.     int  ib;
  10.     int  ic;
  11. }pointf;

  12. pointv vtemp;
  13. pointf ftemp;

  14. pointv va[510];
  15. pointf fa[1010];


  16. int main(void){
  17.     FILE *fp;
  18.     int  i=1;
  19.     int  j=0;
  20.     char mark;
  21. //    int  end;

  22.     fp=fopen(".\\bunny_1k.obj","rb+");
  23.    
  24.     fscanf(fp,"%c %f %f %f", &mark, &vtemp.p1, &vtemp.p2, &vtemp.p3);
  25.     va[i].p1=vtemp.p1;
  26.     va[i].p2=vtemp.p2;
  27.     va[i].p3=vtemp.p3;



  28.     while( mark!='f' ){
  29.         fprintf(stdout,"%c %f %f %f\n", mark, vtemp.p1, vtemp.p2, vtemp.p3);
  30.         i+=1;
  31.     fscanf(fp,"%c %f %f %f", &mark, &vtemp.p1, &vtemp.p2, &vtemp.p3);
  32.         va[i].p1=vtemp.p1;
  33.     va[i].p2=vtemp.p2;
  34.     va[i].p3=vtemp.p3;
  35.     }

  36.     fa[j].ia=(int)vtemp.p1;
  37.     fa[j].ib=(int)vtemp.p2;
  38.     fa[j].ic=(int)vtemp.p3;

  39.     while( !feof(fp) ){
  40.         j+=1;
  41.         fscanf(fp,"%c %d %d %d", &mark, &ftemp.ia, &ftemp.ib, &ftemp.ic);
  42.         fa[j].ia=ftemp.ia;
  43.         fa[j].ib=ftemp.ib;
  44.         fa[j].ic=ftemp.ic;
  45.         fprintf(stdout,"%c %d %d %d\n",mark, ftemp.ia, ftemp.ib, ftemp.ic);
  46.     }
  47.     return 0;
  48. }
复制代码


这个是测试的程序,在原来程序中要从一个.obj文件中读数据,bug太多只好单拿出来测,就是想把文件中数据存到数组中,直接用数组去读fscanf(fp....,&fa.ia)这样的就直接出错了,但这个文件里即使用赋值的方法也不行,把赋值的3个都去掉就可以看到,弄了好长时间了,实在找不着原因。附件里那个bunny_1k.obj就是要读的文件

[ 本帖最后由 aopaw 于 2008-10-30 15:33 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-10-30 15:02 |只看该作者
bunny.pdf (28.58 KB, 下载次数: 23)
这是附件,就是要读的文件bunny_1k.obj我改了名了

论坛徽章:
0
3 [报告]
发表于 2008-10-30 15:21 |只看该作者
fp=fopen(".\\bunny_1k.obj","rb+");

把路径改成完整的路径。

论坛徽章:
0
4 [报告]
发表于 2008-10-30 15:35 |只看该作者
不是这个原因,这个程序在linux和里都能跑,那个只是linux下的路径, 有人和我说数组不够长,也不正确。v一共502个f一共1000个
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP