yanghualin 发表于 2003-12-18 15:57:40

【求助】请教斑竹:使用fopen读取数据文件的问题,许久没能解决

      我想使用文本文件提供数据支持,把需要的坐标点放在文本文件中,通过二次开发读取这些坐标点,赋值给block或者其它的云线,圆柱等来实现自动造型,请问该如何实现?
       我用FOPEN打开文件的程序如下:
    double block_orig;//={0,0,0};
    char *block_len;//={"1","2","3"};
    float sum=0;
    char f1,f2,f3,f4,f5;
  //Cstring s1,s2,s3;
    FILE *fp;
    int i=0,j;

    if((fp=fopen("Input.txt","r"))==NULL)
    {
      uc1601("Error Opening file.",1);
      exit(1);
    }
    uc1601("2",1);
    while(!feof(fp))
    {
      fscanf(fp,"%s %s %s %s %s",&f1,&f3,&f4,&f5)]
      sum=sum+atoi(f1);
    //printf("The value are %s,%s,%s,%s,%s\n",f1,f2,f3,f4,f5);
      //printf("The value are %s,%s,%s,%s,%s\n",f1,f2,f3,f4,f5);
      uc1601(f1,1);
      uc1601("Not eof",1);
      i++;
    }

    j=i;
    for(i=0;i<j;i++)
      printf("All The value are %s,%s,%s,%s,%s\n",f1,f2,f3,f4,f5);

    block_orig=atoi(f1);block_orig=atoi(f2);block_orig=atoi(f3);
    block_len=f1;block_len=f2;block_len=f3;
    printf("block are %f:\n",block_orig);
    printf("block2 are %s:\n",block_len);
     
//    cout<<block_len<<":len"<<endl;
    fclose(fp);

      使用fopen的"r"读方式第一次时提示NULL,即提示没有打开该文件;然后改用"w"方式执行一次后再改为'R"方式,运行时没有提示"Error Opening file.",但是在执行到while时又出了错.
      在while子句中,只执行了一次,而且所读数据用uc1601显示为乱码,在UG环境中调用则则说内存错误,然后终止运行该程序.
      编译是正确的,能够生成dll文件.

有可能是我哪个地方没设置好还是跟版本有关?
我得是NX2.0及VC++6.0中文版的

      另外,在利用向导使用external方式产生exe文件时,总提示说找不到一些动态库,不知怎么回事.
      请求斑竹和各位大侠指点,这个问题搞的小生许久了,真是没有任何办法了.

八怪 发表于 2012-12-11 10:31:29

怎么有点乱码啊
页: [1]
查看完整版本: 【求助】请教斑竹:使用fopen读取数据文件的问题,许久没能解决