精华内容
下载资源
问答
  • 程序推出去时,相关的消息

    程序推出去时,相关的消息有WM_CLOSE、WM_DESTROY、WM_QUIT,其消息到达的先后顺序是怎样的呢

    一、应用程序最先受到的是WM_CLOSE,若想让用户确认是否退出,则在应用程序的消息处理函数中拦截此消息做相应的处理;否则,将该消息抛个DefWindowProc处理,该函数会调用DestroyWindow来处理WM_CLOSE;


    二、DestroyWindow在处理WM_CLOSE时,会发送一个WM_DESTROY,我们需要在消息处理函数中相应WM_DESTROY如下:

         case WM_DESTROY:
              PostQuitMessage (0) ;
              return 0 ;

    三、调用PostQuitMessage会是windows把WM_QUIT放入消息队列中

      while (GetMessage (&msg, NULL, 0, 0))
         {
              TranslateMessage (&msg) ;
              DispatchMessage (&msg) ;
         }
    GetMessage从消息队列中取出WM_QUIT时,返回值为0,即推出消息循环,应用程序结束

    展开全文
  • c语言强制退出程序

    万次阅读 多人点赞 2017-02-19 14:36:57
    区分应用环境及功能,有以下几种:1 强制退出整个程序。可以调用exit()函数。调用该函数需要引用头文件stdlib.h。该函数需要一个int型的参数,用来把执行结果返回给主调进程。比如exit(0)相当于在主函数中返回0, ...
    区分应用环境及功能,有以下几种:
    1 强制退出整个程序。
    可以调用exit()函数。
    调用该函数需要引用头文件stdlib.h
    该函数需要一个int型的参数,用来把执行结果返回给主调进程。
    比如exit(0)相当于在主函数中返回0, exit(-1)相当于在主函数中返回-1等。

    2 强制退出循环。
    在循环中可以通过调用break语句来实现强制跳出循环。

    3 强制退出函数。
    在任意函数中,均可调用return语句实现强制退出函数。如果是在主函数main中,使用return也可以做到强制退出整个程序。
    展开全文
  • 我有一个程序,在本机执行没问题,redhat6.4.但是在同事的centos5里面有段错误 gdb调试显示错误位置是??() 是在程序退出之后,最后一个}之后段错误 求助大神,应该是什么原因导致的
  • C语言退出函数

    千次阅读 2014-09-20 19:38:27
    C标准定义了下面的退出函数:    #include    void exit(int status);  void _Exit(int status);  int atexit(void (*function)(void));  函数功能介绍如下:  void exit(int status)  该函数...
     C标准定义了下面的退出函数:
        
        #include <stdlib.h>
         
        void exit(int status);
        void _Exit(int status);
        int atexit(void (*function)(void));
        函数功能介绍如下:
        void exit(int status)
        该函数终止调用的程序。status传递给系统用于父进程恢复。程序退出之前,exit()调用所有以atexit()注册的函数,清空所有打开的<stdio.h> FILE*流的缓冲区并关闭流,然后删除所有由tmpfile()创建的临时文件。进程退出时,内核关闭所有剩下的已打开文件(即那些由open()、creat()或文件描述符继承打开的文件),释放其地址空间,然后释放所有其他使用的资源。exit()从不返回。
        void _Exit(int status)
        该函数基本上与POSIX的_exit()函数相同;我们稍后再对其进行介绍。
        int atexit(void (*function)(void))
        function是一个函数指针,指向程序退出时候调用的一个回调函数。exit()在其关闭文件和终止之前调用该回调函数。这个想法在于程序能够在最终关闭之前提供一个或者多个运行的清理函数。提供一个函数被成为注册该函数。
        atexit()成功时返回0,出错时返回-1并设置相应的errno。
        下面的程序没有有用的功能,但它演示了如何使用atexit():
        void callback1(void){printf("callback called\n");}
        void callback2(void)(printf("callback called\n");}
        void callback3(void)(printf("callback called\n");}
       
        int main(int argc,char** argv)
        {
             printf("registering callback1\n");atexit(callback1);
             printf("registering callback2\n");atexit(callback2);
             printf("registering callback3\n");atexit(callback3);
             printf("exiting now\n");
             exit(0);
        }
        下面是程序的运行结果:
        $atexit
        registering callback1
        registering callback2
        registering callback3
        exiting now
        callback3 called
        callback2 called
        callback1 called
        正如上例所示,使用atexit()注册的函数运行时的顺序和注册的顺序相反:最近注册的最先运行(这也称为后进先出(last-in-first-out),缩写为LIFO)。
        POSIX定义了_exit()函数。与exit()不同,exit()调用回调函数并进行<stdio.h>清理,_exit()是“立即死亡”的函数:
        #include <unistd.h>
        void _exit(int status);
        _exit终止调用进程,但不关闭文件,不清除输出缓存,也不调用出口函数。exit函数将终止调用进程。在退出程序之前,所有文件关闭,缓冲输出内容将刷新定义,并调用所有已刷新的“出口函数”(由atexit定义)。
        实际上,ISO C的_Exit()函数与_exit()相同。C函数指出_Exit()是否调用以atexit()注册的函数并关闭打开的文件取决与实现。对于GLIBC系统,可能不会,即_Exit()与_exit()表现相似。
        使用_exit()的时机是在fork()产生的子进程中调用exec()失败的时候。这种情况下,不需要使用通常的exit(),因为它会清空所有由FILE*流保存的缓冲区数据。随后父进程清空其缓冲区拷贝时,导致缓冲的数据被写了两次;显然这不是很恰当。
        例如,加入你运行了一个shell命令,并且自己调用fork()和exec()。代码可能如下所示:
        char *shellcommand="...";
        pid_t child;
        if((child=fork())==0){
             execl("/bin/sh","sh","-c",shellcommand,NULL);
             _exit(errno==ENOENT?127:126);
        }
       
        errno测试和退出值采取了POSIX shell所使用的惯例。如果要求的程序没有退出(ENOENT——目录中没有它的项),则退出值为127。否则,文件同样退出,但由于其他原因不能够被exec()执行,则退出状态为126。在你自己的程序中采取这个惯例将会是个好主意。
        简言之,为了更好地使用exit()和atexit(),你应该遵循一下规则:
        1、定义一个较小的退出状态值的集合,你的程序使用该集合中的值与其调用者进行通信。在你的代码中使用#define常量或enum定义这些值。
        2、决定是否有必要与atexit()一起使用回调函数。如果有必要,则在main()中适当地方注册这些函数;例如,在解析选项之后以及初始化任何回调函数可能清除的数据结构之后,记住函数以LIFO(last-in-first-out)顺序进行调用。
        3、如果出错,在任一地方都可以使用exit()从程序退出,退出是能够发生的正确行为。同时使用你定义的错误代码。
        4、main()函数是个例外,你可以在其中使用return。我们自己的风格是,通常出问题时使用exit(),而如果一切正常,在main()结尾处使用“return 0”。
        5、如果调用exec()失败,则在子进程中使用_exit()或_Exit()。
    展开全文
  • int a; printf("请输出一个非零整数:\n"); int reg=scanf("%d",&a); printf("reg=%d\n",reg); 注:scanf函数有返回值,如果输入是正确的值则返回1,否则返回0,可以根据返回值来判断是否输入值正确(如图所示)...
    int a;
    printf("请输出一个非零整数:\n");
    int reg=scanf("%d",&a);
    printf("reg=%d\n",reg);
    注:scanf函数有返回值,如果输入是正确的值则返回1,否则返回0,可以根据返回值来判断是否输入值正确(如图所示)
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • c语言答题程序设计

    千次阅读 2019-11-25 15:40:14
    初学C语言两个月,在大学中的第一个项目设计: 测验小程序 团队: 计科第二组:我行,我C! 团队宣言:我能行,我来carry 单位 怀化学院 计算机课学与技术学院 计科1901班 成员 袁年财...
  • C语言程序-学生成绩统计系统

    万次阅读 多人点赞 2019-05-30 13:12:45
    C语言程序-学生成绩统计系统 #刚入门的小白,写的一个C语言作业,参考了 另一位博主的代码(https://blog.csdn.net/qq_36503589/article/details/53106983) 但是我自信的认为我的代码更“好看”一点,见笑了,请...
  • C语言 关机程序

    千次阅读 2014-04-25 21:52:02
    #include #include #include int print(){ printf(" ╪╪╪╪╪╪... printf("╔═══╧╧ C语言 关机程序 ╧╧═══╗\n"); printf("║※1.实现10分钟内的定时关闭计算机 ║\n"); printf("║※2.立即关闭计算机
  • Linux C语言退出函数详解

    千次阅读 2012-04-25 21:27:16
    Linux C语言退出函数详解   C标准定义了下面的退出函数:  #include    void exit(int status);  void _Exit(int status);  int atexit(void (*function)(void));  函数功能介绍如下:  void ...
  • 有些同学在做实验一 命令解释程序的编写的时候,输入quit命令退出程序,窗口并没有关闭,如下图所示需要Press any key to continue(按任意键)之后才关闭。 出现这个结果的原因是在IDE(VC++)中调试运行,如果是...
  • C语言编程的区号查询系统,要求实现区号查询系统中,添加新记录、删除记录、显示记录信息、按城市查找信息和退出系统等功能。 ①录入有关城市的名称和区号。 ②显示所有城市的信息。 ③通过输入城市名称查找对应...
  • /*编写一个程序,实现循环录入如下记录信息 学校 字符串 姓名 字符串 提示:利用结构体数组或链表保存录入的数据 要求: 1.当程序退出后再重新运行可以显示先前录入的信息*/
  • windows系统下c语言暂停程序 ...windows系统下,很多C语言初学者的调试时,往往没看到结果程序退出了,据我所知的方法主要有以下几种 方法一: #include int main() { system("pause");//利用了DOS...
  • C语言C语言程序设计:函数

    千次阅读 2021-02-28 10:25:03
    C语言程序设计(第六周):函数
  • 学习C语言,我们得先了解一下,我们所写的程序的本质,我定义的变量去了哪里,我们申请的空间存储在哪里,今天就来给大家简绍一下 二.程序的内存分配 我我先看一下详细的内存分段 用户所使用的内存分段 平时我记着...
  • 贺老师教学链接 C语言程序设计提高 本课讲解我们写过这样的程序#include int main() { int iChioce; do { printf("* 1. 吃饭\n"); printf("* 2. 睡觉\n"); printf("* 3. 打豆豆\n"); printf("* 0. 退
  • C语言程序——调用系统应用

    千次阅读 2018-07-21 00:04:00
    写在前面 C语言中有很多system功能函数,能够调用微软系统功能。...我的C语言程序 代码实现 #include&lt;stdio.h&gt; #include&lt;windows.h&gt; #include&lt;stdlib...
  • Ubantu和Windows系统下使用c语言编辑简单程序Ubantu系统下使用c语言编辑简单程序Ubantu系统下使用Makefile编辑简单程序Windows系统下使用VC6.0编辑简单程序 Ubantu系统下使用c语言编辑简单程序 本次内容,是使用的是...
  • C语言

    万次阅读 多人点赞 2019-12-18 23:01:50
    46.用c语言编写程序,可以编写出任何类型的程序 47.C语言允许有空函数 48.C程序书写格式,允许一行内可以写几个语句 49.C程序的语句无行号 50.C语言的每个语句的最后必须有一个分号 51.C语言本身没有输入...
  • 关于C语言执行程序窗口的闪退问题

    千次阅读 2019-09-05 21:28:48
    关于C语言执行程序窗口的闪退问题 近期在学习C++的过程中出现了执行窗口闪退的问题 对于以上问题并不是程序的问题,而是执行之后迅速退出 在此有两个解决方案: 方法一: 在主函数Main函数的returrn 0之前加入一句 ...
  • 一个让人绝望的C语言恶搞程序

    千次阅读 2020-03-29 13:22:05
    愚人节快要到了,跟大家分享一个让人绝望的恶搞程序: 快叫哥,不然30秒后自动关机!...如果30s内输入了“哥”,并点“确定”按钮,那么倒计时暂停,点击“关闭”后程序退出 输入“哥” 点击“...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises28P330P796P314P338P339P340 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises28 P330 测试...
  • 本次课程设计使用C语言制作程序来实现图书的登记,删除,查询,浏览以及读者的借阅,还书,会员登录,修改密码等功能。程序中涉及到数据链表和文件指针的操作,包括结构体数据定义,使用及文件的读写,定位,修改等...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises13P239P704P717P747P742P714 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises13 P239 /* ...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises15P216P262P748P313P412 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises15 P216 /* 编写...
  • C语言程序编译无误但运行会弹出程序已停止运行是为什么?原文链接(https://zhidao.baidu.com/question/1178139670043658699.html) 摘要 1. 内存溢出 内存溢出(out of memory)通俗理解就是内存不够,程序...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises34P119P330P337P318P763 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises34 P119 #include...
  • 文章目录20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises31P312P264P119P267 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises31 P312 测试数据文件...
  • C语言程序—定时关机

    千次阅读 2017-10-18 20:09:55
    自动关机小程序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 106,540
精华内容 42,616
关键字:

c语言如何退出程序

c语言 订阅