,,c++中的system("pause")的作用和含义解析

,,c++中的system("pause")的作用和含义解析

本文主要介绍了C语言中系统(' pause ')的作用和意义,很好,有参考价值。有需要的请参考。

简单来说就是暂停的意思,通常用在LINUX编程中。在重新启动之前,您将等待接收到信号。

在C/C编程中,当运行程序检查输出效果时,窗口会闪烁然后关闭。

一般在C语言中,通过添加getchar();

一般C中在main函数中return之前加system(' pause ');这样可以清楚的看到输出结果,pause会输出‘按任意键继续.’。

system的原型是int system(char *command),就是在windows平台上执行DOS命令,在linux平台上执行shell命令。

Linux下system () 函数详解简介

(执行shell命令)

相关函数

叉子,execve,waitpid,popen

头文件

#includestdlib.h

定义函数

int system(const char * string);

功能描述

System()会调用fork()生成一个子进程,这个子进程会调用/bin/sh-c string来执行参数字符串string表示的命令,命令执行后再返回原来的调用进程。在调用system()期间,SIGCHLD信号将被暂时挂起,SIGINT和SIGQUIT信号将被忽略。

返回值

如果fork()失败,它返回-1:发生了错误。

如果exec()失败,Shell无法执行,返回值相当于Shell执行exit(127)。

如果执行成功,将返回子Shell的终止状态。

如果system()在调用/bin/sh时失败,则返回127,其他失败原因返回-1。如果参数字符串是空指针,它将返回非零值。如果system()调用成功,最终会在shell命令执行后返回返回值,但这个返回值也可能是system()调用/bin/sh失败返回的127,所以最好再次检查errno确认执行成功。

  附加说明

在编写SUID/SGID许可的程序时,不要使用system()。system()将继承环境变量,这可能会导致系统安全问题。模型

# i ncludestdlib.h

主()

{

system(" ls-al/etc/passwd/etc/shadow ");

}

执行结果:

-rw-r-r-1 root root 705 Sep 3 13:52/etc/passwd

-r-1 root root 572 Sep 2 15:34/etc/shado

示例2:

char tmp[];

sprintf(tmp,'/bin/mount -t vfat %s /mnt/usb ',dev);

系统(tmp);

其中dev是/dev/sda1.System与exec的区别

1.system()和exec()都可以在进程外执行命令。system在原始进程上创建了一个新进程,但是exec用一个新进程(命令)覆盖了原始进程。

2.system()和exec()都可以生成返回值。system的返回值不会影响原始进程,但exec的返回值会影响原始进程。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: