handlesSimpleCmdStr(inputbuf)该函数调用地点先于定义,应该将定义提前或者将声明写在定义之前,还有问题需注意,函数的实现放在头文件里,在编译的时候头文件的内容会替换#include,如果头文件没处理好,可能有些问题会有些让人无语
成都创新互联专注于镇巴企业网站建设,成都响应式网站建设公司,商城网站建设。镇巴网站建设公司,为镇巴等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
这个字符串。“C:\a.exe” 在命令行下是可以直接运行的,所以直接填到参数里就行了。不过需要注意的是,字符串作为参数的时候“\”要做一下转义,要变成“\\”才行。
所以正确的使用方法应该是
system("C:\\a.exe");
注意,system在调用的时候需要加上#include stdlib.h的头文件。
Visual Stdio 2008 创建的工程默认是UNICODE编码的,在输入字符串时可以用_T("open") 来代替原来的 "open", 在UNICODE下ShellExecute函数实际对应ShellExecuteW
ShellExecute(
HWND
hwnd,
//父窗口句柄
LPCSTR
lpOperation,
//操作类型
LPCSTR
lpFile,
//要进行操作的文件或路径
LPCSTR
lpParameters,
//当lpOperation为“explore”时指定要传递的参数,通常设为NULL
LPCSTR
lpDirectory,
//指定默认目录,通常设为NULL
INT
nShowCmd
//文件打开的方式,以通常方式还是最大化或最小化显示
)
例子如下:
//调用计算器
ShellExecute(NULL,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);
//调用记事本
ShellExecute(NULL,"open","NOTEPAD.EXE",NULL,NULL,SW_SHOWNORMAL);
int (*function[4])();这是声明一个函数指针
#include stdio.h
// 需要先声明一下
execute(int x,int y,int (*fun)(int ,int))// 函数指针的声明与函数的声明的返回值和参数应该一致
{
return (*fun)(x,y);
}
main()
{
int fun1(int ,int);// 声明函数要指明函数类型
int fun2(int ,int);// 声明函数要指明函数类型
int fun3(int ,int);// 声明函数要指明函数类型
int fun4(int ,int);// 声明函数要指明函数类型
int (*function[4])(int ,int);// 声明函数指针要指明函数类型
int a=10,b=5,i;
function[0]=fun1;
function[1]=fun2;
function[2]=fun3;
function[3]=fun4;
for(i=0;i4;i++)
printf("fun no.%d-%d\n",i+1,execute(a,b,function[i]));
}
fun1(int x, int y)
{
return(x+y);
}
fun2(int x,int y)
{
return(x-y);
}
fun3(int x,int y)
{
return(x*y);
}
fun4(int x,int y)
{
return(x/y);
}