声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2470|回复: 2

[UDF专题] 在udf中定义数组,将txt文件里面的数据读入数组中

[复制链接]
发表于 2008-11-6 17:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
怎么实现?一般的c文件很好实现,代码如下,这个简单的功能怎么在udf中实现?因为不能编译,连
FILE *fp1;都识别不了


#include <stdio.h>
#define A_ROW 117
#define A_COLUMN 6
#define INPUT_FILE_NAME "xishu1.txt"


void main()
{
        FILE *fp1;
        fp1=fopen(INPUT_FILE_NAME,"r");
        double temp;
        double A[A_ROW][A_COLUMN];
        int i,j;
        for(i=0;i<A_ROW;i++)
                for(j=0;j<A_COLUMN;j++)
                {
                                fscanf(fp1,"%lf",&temp);
                                A[j]=temp;
                }
}
回复
分享到:

使用道具 举报

发表于 2008-12-30 10:54 | 显示全部楼层
我也用这个方法,倒是解释通过了,但是在导入模型,最后进行初始化(initialize)时出错,不知为什么。我的程序是这样的:
/********************************/
/*velocity.c*/
#include "udf.h"
DEFINE_PROFILE(velocity,thread,position)
{
  face_t f;
real x[ND_ND];
real z;
int i, j;
float u[1000][15];
FILE* fp;
fp=fopen("V.txt","r");
for (i=0;i<1000;i++)
for (j=0;j<15;j++)
fscanf(fp,"%f",u[j]);
begin_f_loop(f,thread)
{
z=x[2];
   if (z<20)
       F_PROFILE(f,thread,position)=u[1];
   else if (z<40)
       F_PROFILE(f,thread,position)=u[2];
   else if (z<60)
       F_PROFILE(f,thread,position)=u[3];
   else if (z<80)
       F_PROFILE(f,thread,position)=u[4];
   else if (z<100)
       F_PROFILE(f,thread,position)=u[5];
   else if (z<120)
       F_PROFILE(f,thread,position)=u[6];
   else if (z<140)
       F_PROFILE(f,thread,position)=u[7];
   else if (z<160)
       F_PROFILE(f,thread,position)=u[8];
   else if (z<180)
       F_PROFILE(f,thread,position)=u[9];
   else if (z<200)
       F_PROFILE(f,thread,position)=u[10];
   else if (z<220)
       F_PROFILE(f,thread,position)=u[11];
   else if (z<240)      
       F_PROFILE(f,thread,position)=u[12];
   else if (z<260)
       F_PROFILE(f,thread,position)=u[13];
   else if (z<280)      
       F_PROFILE(f,thread,position)=u[14];
   else
       F_PROFILE(f,thread,position)=u[15];
}
  end_f_loop(f,thread)
}

另外,我发现不少定义的UDF,本来能解释,改变文件夹目录后就不能解释,这是什么原因呢?
发表于 2009-1-6 16:10 | 显示全部楼层
可以用另外的方式把数组读进去,
要加一个DEFINE_ON_DEMAND 函数
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-25 10:36 , Processed in 0.106821 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表