19,468
社区成员
发帖
与我相关
我的任务
分享
typedef void (*PDealFunc)(void* pParam);
struct FuncNode
{
int nIndex;
PDealFunc pFunc;
};
void A1(void* pParam);
void A2(void* pParam);
void A3(void* pParam);
FuncNode arrayFunc[] = { {1,A1},{2,A2},{3,A3}};
void test(void* pParam)
{
//如在配置文件中 读取的数据
int arrayIndex[5] = {3,2,1,3,2};
for (int i = 0;i < 5;i++)
{
for (int j = 0;j < 3;j++)
{
if (arrayIndex[i] == arrayFunc[j].nIndex)
{
arrayFunc[j].pFunc(pParam);
}
}
}
}
使用管道操作符 (|)
管道操作符 (|) 可以提取一个命令的输出(默认情况下是 STDOUT),然后将其导入另
一个命令的输入中(默认情况下是 STDIN)。例如,下面的命令将对目录分类:
dir | sort
在本例中,将同时启动两个命令,但随后 sort 命令会暂停,直到它接收到 dir 命令
的输出为止。sort 命令使用 dir 命令的输出作为输入,然后将输出发送到
句柄 1(即 STDOUT)。
合并带重定向操作符的命令
可以通过合并带有其他命令和文件名的筛选器命令创建自定义命令。例如,可以使用以
下命令存储包含“LOG”字符串的文件名:
dir /b | find "LOG" > loglist.txt
dir 命令的输出通过 find 筛选器命令发送。包含字符串 "LOG" 的文件名作为文件名
列表(例如,NetshConfig.log、Logdat.svd 和 Mylog.bat)存储在文件
Loglist.txt 中。
要在相同命令中使用多个筛选器,请使用管道 (|) 分隔筛选器。例如,下面的命令将
搜索 C 盘上的每个目录以查找包含 "LOG" 字符串的文件名,并且在命令提示符窗口中
每次显示一屏:
dir c:\ /s /b | find "LOG" | more
利用管道 (|) 可以将 Cmd.exe 导向为通过 find 筛选器命令发送 dir 命令输出。
find 命令只选择包含字符串 "LOG" 的文件名。more 命令可以显示由 find 命令选择
的文件名(在命令提示符窗口中每次显示一屏)。有关筛选器命令的详细信息,请参阅
使用筛选器。