免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1081 | 回复: 6
打印 上一主题 下一主题

请教一下退出问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-23 10:19 |只看该作者 |倒序浏览
#include <stdio.h>;
main()
{
                char ch;
                int i,j;
                i=1;
                j=0;
                for(i=1;i<=100000000000;i++)
                        {
                                if(i%3==0&&i%5==0&&i%7==0)
                                        {
                                                printf("%4d\n",i);
                                                j=j+1;
                                                ch=getchar();
                                                if(ch=='c')
                                                        exit(0);
                                        }
                                if(j==4)
                                        {
                                                printf("\n";
                                                j=0;
                                        }
                        }
}



上面这段代码如何更改,能起到这样的效果,数据先在屏幕上显示着,当我按c键的时候,程序退出

论坛徽章:
0
2 [报告]
发表于 2003-10-23 10:21 |只看该作者

请教一下退出问题

按CTRL-C不就行了

论坛徽章:
0
3 [报告]
发表于 2003-10-23 10:30 |只看该作者

请教一下退出问题

不起作用呀,这样,另外我的目的是想在程序中实现按某个特定键起这个作用

论坛徽章:
0
4 [报告]
发表于 2003-10-23 10:53 |只看该作者

请教一下退出问题

传递个自定义的信号就可以了

论坛徽章:
0
5 [报告]
发表于 2003-10-23 11:07 |只看该作者

请教一下退出问题

将显示数据的功能放在子线程中, 主线程控制程序的退出

论坛徽章:
0
6 [报告]
发表于 2003-10-23 11:57 |只看该作者

请教一下退出问题

#include<sched.h>;
#include<iostream.h>;
#include<unistd.h>;
#include<stdlib.h>;
#include<stdio.h>;
#include<string.h>;
#include<sys/types.h>;
#include<signal.h>;


int myclone(void* i)
{
        sleep(5);
        for (int j=0; j<1000; j++)
        {
                cout<<j<<endl;
                sleep(3);
        }
        return 0;
}
int main()
{

        char* stack = NULL;

        cout<<"print C to quit........."<<endl;

        stack = (char*)malloc(50*1024);
        int i=0;
        clone(myclone, stack+50*1024-1, 0, (void*)i);
        char a[10];
        while(1)
        {
                scanf("%10s", &a);
                if (strcmp(a, "c" == 0)
                {
                        kill (0, SIGINT);
                        break;
                }
        }
        return 1;
}

论坛徽章:
0
7 [报告]
发表于 2003-10-23 14:01 |只看该作者

请教一下退出问题

这个问题我遇到过
getchar()好象不起作用
不过当时不求甚解,想了个办法绕过这个问题了
我用scanf("%s", temp)
然后判断temp[0]
方法笨点,但是问题解决了
究竟是什么原因我也不太清楚

楼主试下先。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP