C语言很差,先描述一下问题:
一段FLUENT UDF,在一个子函数A中获得一个数据存在一个临时的文件tmp.dat中,下一段函数B需要调用这个值,目前的想法有两个:
1、在下一段函数中用FILE *读取tmp.dat中的数据(w+型文件,始终只有一个数据),然后赋给一个real变量velocity。问题是读出来的貌似是一个字符串,无法赋给real;
2、定义一个外部变量extern real velocity,在A中把得到的数据返回给velocity,然后在B中直接调用这个值。但是A是一个void函数,返回值不知道该怎么返回。
程序内容无关紧要,且写的很乱,就不贴上来了,免得贻笑大方。
不知道两种思路有没有问题,希望能针对两种思路给一段示例代码,多谢!
另外,关于第一种想法:
FILE *fp;
fp=fopen("tmp.dat","r");
while(!feof(fp))
{
fscanf(fp,"%f",&velocity);
}
fclose(fp);
Message ("velocity=%f\n",velocity);
控制台输出的velocity显示为0.000000,但是tmp.dat中是500.000006