今天遇到一个问题,需要在程序开始时打开一个txt文档,刚开始用system(),但这样其实做是有问题的。
1,system()
用sestem()打开一个文件后,本程序等待,直到打开的文件关闭后本程序才继续执行。
不理解的话请看下面这个例子:
<span style="white-space:pre"> </span>cout<<"a"<<endl;
system("说明.txt");
cout<<"b"<<endl;
执行时先输出a,然后打开 《说明.txt 》 文档,当文档关闭后才输出b。
2,ShellExecute()
用这个函数的话就能解决上述问题,它的用法是ShellExecute(NULL,"open","说明.txt",NULL,NULL,SW_SHOW)
它返回HINSTANCE,强制转换为整数后比32大执行成功,比32小执行失败
if( (int)ShellExecute(NULL,"open","说明.txt",NULL,NULL,SW_SHOW)<32 )
return false;
这个函数还可以打开一个网页,和一些其他操作。
3,其他
其他还有WinExec(),它只对16位机子兼容。
execle(),它不是标准库函数,在process.h里,具体用法大家自己百度吧。