如何读取TXT 文件里的内容当脚本使用
各位大神,我是新手,我写了个小程序,在一个新建的函数里运行几个函数,里面比如有5个函数A1(0,1);A2(0,1);。。。。。因为每次想让他运行5个到更多的函数,他们参...
各位大神,我是新手,我写了个小程序,在一个新建的函数里运行几个函数,里面比如有5个函数 A1(0,1);A2(0,1);。。。。。
因为每次想让他运行5个到更多的函数,他们参数都不一样可能是a1(2,5)这样,
每次修改都很不方便我想能不能写个TXT 或者INI 的文件,然后每次使用的时候我只要
修改TXT文件就可以了
程序里的代码如下
unsigned int __stdcall ThreadProc(LPVOID lpParameter)
{
A1(0,1);
Sleep(500);
A3(4,2);
Sleep(500);
A1(4,1);
Sleep(500);
A2(3,1);
Sleep(500);
return 0;
}
这个是在一个新建的线程里运行的 实例 展开
因为每次想让他运行5个到更多的函数,他们参数都不一样可能是a1(2,5)这样,
每次修改都很不方便我想能不能写个TXT 或者INI 的文件,然后每次使用的时候我只要
修改TXT文件就可以了
程序里的代码如下
unsigned int __stdcall ThreadProc(LPVOID lpParameter)
{
A1(0,1);
Sleep(500);
A3(4,2);
Sleep(500);
A1(4,1);
Sleep(500);
A2(3,1);
Sleep(500);
return 0;
}
这个是在一个新建的线程里运行的 实例 展开
2个回答
展开全部
这样试试看可以不。用函数指针来执行。
在txt中读取数据后解析内容,第一个,要执行多少个函数, 或者N次,
第二个,所有要执行的函数,比如A1(0,1);A2(0,1);。。。。。 用string数组存放好,
在程序里,参数用变量arg[]储存
然后循环N次,switch string里的函数名,然后赋值变量值给a[];
这样应该就可以执行了, 主要就是你解析内容的过程了,
在txt中读取数据后解析内容,第一个,要执行多少个函数, 或者N次,
第二个,所有要执行的函数,比如A1(0,1);A2(0,1);。。。。。 用string数组存放好,
在程序里,参数用变量arg[]储存
然后循环N次,switch string里的函数名,然后赋值变量值给a[];
这样应该就可以执行了, 主要就是你解析内容的过程了,
追问
老师,看了你的回答,我有点思路了,,可是我自己些了半天都失败了,老师能不能帮我写一下这个代码啊。。。。万分感激
追答
我的TXT格式是这样的
;A1(1,2);A2(4,8,5);A2(5,9,3);A1(2,7);#
代码是这样
#include "stdafx.h"
#include
#include
#include
using namespace std;
void A1(int a,int b)
{
cout myFunctionName;
vector > myArg(100);
int front =0,tail =0;
int index =0;
while(1)
{
front = receive.find(";",tail);
front++;
if(receive[front] == '#')
break;
tail = receive.find("(",front);
string name = receive.substr(front,tail-front);
myFunctionName.push_back(name); //存储函数名
//开始获取每个函数的参数
int iFront=tail +1,iTail =tail;
tail = receive.find(")",front);
while(1)
{
iTail = receive.find(",",iFront);
if(iTail>tail || iTail == -1)
{iFront = receive.find(",",iFront-1);
iFront++;
string temp = receive.substr(iFront,tail-iFront);
int itemp =atoi(temp.c_str());
myArg[index].push_back(itemp);
break;
}
string temp = receive.substr(iFront,iTail-iFront);
int itemp =atoi(temp.c_str());
myArg[index].push_back(itemp);
iFront = iTail+1;
}
index++;
}
for (int i =0;i< myFunctionName.size();i++)
{
string fName = myFunctionName[i];
if (fName == "A1")
{
int myarg[10];
myarg[0] = myArg[i][0];
myarg[1] = myArg[i][1];
A1(myarg[0],myarg[1]);
}
else if (fName == "A2")
{
int myarg[10];
myarg[0] = myArg[i][0];
myarg[1] = myArg[i][1];
myarg[2] = myArg[i][2];
A2(myarg[0],myarg[1],myarg[2]);
}
}
return 0;
}
我编译通过了,不要过于去研究代码,主要还是解析的过程,就是字符串的处理,找特征,我的只是根据我的特征来的,
PS:我也只是学生,,而不是老师。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询