c++中怎么判断_tsystem()函数是否执行成功
2013-03-08 18:28
357 查看
原来也是,
曾经那是自己还 比较年轻,什么也不懂,
哈哈哈,
想用命令行的时候就使用_tsystem()这个函数,觉得挺简单,挺爽的。
可是越来越觉得有问题,
问题一:这个函数执行的命令行是否执行。
问题二:是否执行成功。
问题三:是否执行完成后正常退出。
但是问题总会解决,今天就是我和_tsystem()函数摊牌的时候了。虽然解决的问题只是一小部分,但是目前还可以解决燃眉之急。
深入讨论_tsystem()函数:
执行命令行md测试,执行成功,返回值为0.
执行命令行md测试,如果创建的文件夹已经存在,返回值为1
msdn里面是这么说返回值的:
如果命令是NULL的命令解释器,返回一个非零值。如果命令解释器没有找到,返回0,并设置errno为ENOENT。如果不为NULL命令,系统将返回值,则返回的命令解释器。它返回的值为0,只有当命令解释器返回的值为0。返回值 - 1表示一个错误,并把errno设置为下列值之一:
E2BIG
参数列表(这是依赖于系统)是太大了。
ENOENT
命令解释器,可以不被发现。
ENOEXEC
命令解释器的文件格式无效,无法执行。
ENOMEM
没有足够的内存可用于执行命令;或可用内存已损坏或无效块存在,这表明进程调用不正确分配。
后续整理。今天没时间了。
--------------------------------------------------------------------------------------------------------------------------------------------
今天接着测试System()这个函数。
想说说文自己的想法:
这里单单在主线程中,调用System()函数作为测试。
第一:也就是说在主线程中,通过System函数创建一个新的进程,然后去得到这个进程的句柄来控制,但是,这样直接是没办法得到新创建的进程的句柄信息。
第二:就是,把这个System函数创建的进程放进一个内核对象或者作业里面,通过作业或者内核对象来控制自己新启动的进程。
第三:考虑到system这个函数是阻塞的,也就是它会等着它启动的进程执行完成后,才有返回值,这样就可以每次都判断它的返回值,来判断是否执行成功。再加上try 块来 捕 获异常。
第四:要么就通过定义宏,来用其他的函数来替换System函数。
曾经那是自己还 比较年轻,什么也不懂,
哈哈哈,
想用命令行的时候就使用_tsystem()这个函数,觉得挺简单,挺爽的。
可是越来越觉得有问题,
问题一:这个函数执行的命令行是否执行。
问题二:是否执行成功。
问题三:是否执行完成后正常退出。
但是问题总会解决,今天就是我和_tsystem()函数摊牌的时候了。虽然解决的问题只是一小部分,但是目前还可以解决燃眉之急。
深入讨论_tsystem()函数:
执行命令行md测试,执行成功,返回值为0.
执行命令行md测试,如果创建的文件夹已经存在,返回值为1
msdn里面是这么说返回值的:
如果命令是NULL的命令解释器,返回一个非零值。如果命令解释器没有找到,返回0,并设置errno为ENOENT。如果不为NULL命令,系统将返回值,则返回的命令解释器。它返回的值为0,只有当命令解释器返回的值为0。返回值 - 1表示一个错误,并把errno设置为下列值之一:
E2BIG
参数列表(这是依赖于系统)是太大了。
ENOENT
命令解释器,可以不被发现。
ENOEXEC
命令解释器的文件格式无效,无法执行。
ENOMEM
没有足够的内存可用于执行命令;或可用内存已损坏或无效块存在,这表明进程调用不正确分配。
后续整理。今天没时间了。
--------------------------------------------------------------------------------------------------------------------------------------------
今天接着测试System()这个函数。
想说说文自己的想法:
这里单单在主线程中,调用System()函数作为测试。
第一:也就是说在主线程中,通过System函数创建一个新的进程,然后去得到这个进程的句柄来控制,但是,这样直接是没办法得到新创建的进程的句柄信息。
第二:就是,把这个System函数创建的进程放进一个内核对象或者作业里面,通过作业或者内核对象来控制自己新启动的进程。
第三:考虑到system这个函数是阻塞的,也就是它会等着它启动的进程执行完成后,才有返回值,这样就可以每次都判断它的返回值,来判断是否执行成功。再加上try 块来 捕 获异常。
第四:要么就通过定义宏,来用其他的函数来替换System函数。
相关文章推荐
- system函数返回(如何判断调用的shell命令是否执行成功)
- 判断PHP的exec函数是否执行成功
- linux system函数是否执行成功判断方法
- C#的Unit Test如何根据exception来判断函数是否执行正确
- 判断file_get_contents是否执行成功
- shell中判断前一个命令是否执行成功
- c++中怎么判断一个string类型的字符串变量是否为数字?
- 在C++中怎么判断一个double型数据的小数点部分是否为零
- C#的Unit Test如何根据exception来判断函数是否执行正确
- 如何在shell脚本中,判断一个基本命令执行是否成功?
- python 如何判断调用系统命令是否执行成功
- 判断ShellExecute函数是否执行完一个程序的方法
- PHP 判断mysql_query是否执行成功
- C语言典型代码---执行shell命令并判断是否成功
- 判断./configure,make等长输出命令是否执行成功
- c++实现身份证是否合法判断函数
- python-42: 怎么判断模拟登录是否成功
- 怎么判断php常量、变量、函数、类是否存在
- sql事务,在sql2000里判断执行是否成功用@@ERROR 判断
- 在ASP中判断SQL语句是否执行成功