当前位置: 首页 > news >正文

网站设计开户拍卖网站建设方案

网站设计开户,拍卖网站建设方案,欧洲applestore,纺织网站制作123纺织网【CFD小工坊】尝试完成一个简单的溃坝流算例#xff08;2#xff09;——get_val系列函数 前言设计思路代码讲解get_int_val函数Trim函数其余get系列函数 前言 在上一个博文《尝试完成一个简单的溃坝流算例#xff08;1#xff09;》中#xff0c;我们提到了gat_val系列函… 【CFD小工坊】尝试完成一个简单的溃坝流算例2——get_val系列函数 前言设计思路代码讲解get_int_val函数Trim函数其余get系列函数 前言 在上一个博文《尝试完成一个简单的溃坝流算例1》中我们提到了gat_val系列函数。该系列函数的功能是从一个文本文件.txt中读入模型所需的参数。 我们浅水模型中涉及参数众多一般来说我们需要以如下的格式记录这些参数以下是一个参数文件input.txt的示例 //**time parameter** TimeStr 0.0 TimeEnd 1.0 CFL 0.75 DtMin 0.00001 DtMax 1.0000 //**Bottom elevation (zb.txt)** BotType 0 Bot0 0.0 //**Initial condtition** Initial_Eta 0 Eta0 0.0 Initial_Vel 0 //**Boundary condition**//**physical parameters** Viscosity 1.0E-6 Manning 0.03 //**numerical parameter** DepDry 1.0E-4 DepWet 5.0E-4 Theta_fric 1.0 //**output** OutStr 0.0 OurInt 0.5gat_val系列函数需要在input.txt中寻找对应的变量名并读取对应的变量值。 设计思路 一般来说gat_val系列函数只需一个自变量即索要读取参数的参数名。例如get_val(“CFL”)。这个自变量是一个字符串而返回值是数可以是整数、浮点数或者字符串。 执行步骤的设计思路如下 打开input.txt文件从上至下以字符串的方式读取每一行的信息这行的形式为“变量名 变量值”识别等号前的字符串并判断这个字符串信息是否和自变量信息一致以确定自变量在的哪一行若该自变量对应这一行识别并读入等号后面的变量值若不是则继续读入下行信息回到第3步骤关闭input.txt文件。 代码讲解 以下将给出我写的get_val系列函数的代码。 get_int_val函数 /* * Function: get_int_val(var_) * Usage: read the values (int) from the file input.txt * For example, INI_eta get_int_val(Initial_Eta) * Called by: input */ int get_int_val(char *var_) {char *var_name;int num;int i, len, flag 0;FILE* fp fopen(input.txt, r);if (fp NULL) {fprintf(stderr, Fail to read input files! \n);exit(EXIT_FAILURE);}char* row1 (char*)malloc(sizeof(char) * N_str);char* var_read (char*)malloc(sizeof(char) * N_str);while (fgets(row1, N_str, fp) ! NULL) {len strlen(row1);if (row1[0] /) continue;for (i 0; i len; i) {if (row1[i] ) break;var_read[i] row1[i];}var_read[i] \0;var_read Trim(var_read);if (strcmp(var_read, var_) 0) {sscanf(row1, %s %d \n, var_name, num);flag 1;return num;}}if (flag 0) {fprintf(stderr, %s cannot be found in input.txt \n, var_);}free(row1);free(var_read);fclose(fp); }首先通过fopen函数打开input.txt文件。之后进入一个while循环第20行在每次循环开始时通过fgets函数读出这一行存储的信息并存在字符串row1中。 此时我们需要通过一个for循环来找出这行中等号所在的位置并把等号前的字符串存储在var_read中第20~27行。在给var_read赋值后我们再通过一个函数Trim来去掉var_read头部、尾部的多余空格第28行自定义函数Trim的代码详见下一小节。 判断var_read和自变量var_是否一致第30行。如果一致则通过sscanf函数读如等号后面的数值赋值到num中。 在整个while循环过程中我们设置了一个识别符flag并设置初值为0。如果找到了var_对应的参数值则赋值flag 1 第32行。如果没有找到var_对应的参数值则flag 0则程序会报错第37~39行。 最后使用fclose关闭input.txt文件。 Trim函数 Trim函数也仅有一个自变量即字符串src。它的功能是去掉src头部和尾部的多余空格并返回。 代码如下 /* * Function: char* Trim(char *src) * Usage: cut out the extra spaces of src at its beginning and end * Called by: */ char* Trim(char *src) {char *ori_src src;char *begin src;char *end src strlen(src);if (begin end) return ori_src;while (*begin || *begin \t)begin;while (*end \0 || *end || *end \t)--end;if (begin end) {*src \0; return ori_src;}while (begin ! end) {*src *begin;}*src *end;*src \0;return ori_src; }其余get系列函数 此外我们的模型中还用了get_double_val(char *var_)和get_string_val(char *var_)。他们的代码均与get_int_val函数的代码类似唯一的区别是在找到变量var_所在的行后用于读取、赋值的变量的类型为double或char。 此外对于get_string_val的代码一般sscanf(row1, “%s %d \n”, var_name, num)的方式读取参数而是通过更直接的一种方式 将号后面的字符串赋值给一个空字符串如char *res。利用Trim去掉res头部和尾部的多余空格之后得到的res即所需的参数值。
http://www.zqtcl.cn/news/93238/

相关文章:

  • 找做网站的人网站改版 301跳转
  • 网站备案一次就可以了吧营销管理培训课程
  • 怎么做网站背景专做民宿预定的网站
  • wordpress安装谷歌分析代码建网站seo
  • 百度外卖网站建设与维护方法建设 银行网网站
  • 小程序开发定制开发上海优化价格
  • 来宾住房和城乡建设局网站做外贸推广要做哪些平台
  • 无锡建设网站制作wordpress 知乎
  • 动漫网站源码免费怎么怎么做网站
  • 和两个黑人同时做网站中工互联网站建设
  • windows10PHP 网站建设app应用分发平台开发
  • 中唯建设工程有限公司网站做网站页面对PS切图
  • 个人网页制作成品欣赏seo网站沙盒期
  • 亚马逊站外推广网站怎么做制作营销网站模板免费下载
  • 加拿大网站后缀设计师互联网
  • 做物流的网站有哪些内容共同建设网站心得
  • 主题资源网站建设什么网站做污水处理药剂的好
  • 河北建设厅网站修改密码在哪58同城宿迁二手房
  • 淘宝联盟的购物网站怎么做免费网站模板素材
  • 淄博市网站云平台长沙seo 优化选智投未来no1
  • 手机网站导航模板wordpress子域名设置
  • 济南市网站推广公司甘肃网站建设方案优化
  • 网站排名西安工商所什么网站可做年报
  • 网站怎样做反向链接哪个网站可以做代码题目
  • opencart做外贸网站怎样丽水市城乡建设局网站
  • 黑色网站配色typora wordpress
  • 哪个网站做的系统好用吗开一家网站建设公司好
  • 高仿服装网站建设高端网站建设服务
  • 网站怎么做前后台存取旅游网站建设的目的与意义是什么意思
  • 网站一年了百度不收录自己做的网站怎么植入erp