| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 743 人关注过本帖
标题:为什么不行呢?
只看楼主 加入收藏
我是过来人灬
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
为什么不行呢?
程序代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>


int main()
{
    char cmd[20]="shutdown -s -t";
    char t[5]="0";
    int c;

    system("title 小可爱专用关机");  
    system("mode con cols=48 lines=25");   
    system("color f0");
    system("date/T");
    system("time/t");


    printf("-----------C语言关机程序-----------\n");
    printf("1.实现10分钟内的定时关闭计算机\n");
    printf("2.立即关闭计算机\n");
    printf("3.注销计算机\n");
    printf("0.退出系统\n");
    printf("------------------------------------\n");
    scanf("%d",&c);
    
    switch(c){
    case 1:
        printf("您想在多少秒后自动关机?(0~600)\n");
    scanf("%s",&t);
    system(strcat(cmd,t));break;
    case 2:
        system("shutdown -p");break;
    case 3:
        system("shutdown -l");break;
    case 0:
        break;
    default:
        printf("Error\n");
    }
    system("pause");
    return 0;
}



按1不能定时关机,我弄了好久没弄好,来问下大神。
图片附件: 游客没有浏览图片的权限,请 登录注册

2016-12-01 23:07
marlow
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:125
专家分:419
注 册:2016-7-18
收藏
得分:20 
#include<stdio.h>
#include<string.h>
#include<stdlib.h>


int main()
 {
     char cmd[20]="shutdown -s -t ";  /* -t后面留一个空格  */
     char t[5]="\0";
     int c;

     system("title 小可爱专用关机");  
     system("mode con cols=48 lines=25");   
     system("color f0");
     system("date/T");
     system("time/t");


     printf("-----------C语言关机程序-----------\n");
     printf("1.实现10分钟内的定时关闭计算机\n");
     printf("2.立即关闭计算机\n");
     printf("3.注销计算机\n");
     printf("0.退出系统\n");
     printf("------------------------------------\n");
     scanf("%d",&c);
     
     switch(c){
     case 1:
         printf("您想在多少秒后自动关机?(0~600)\n");
     scanf("%s",t);       /* t前不需要&  */
     system(strcat(cmd,t));break;
     case 2:
         system("shutdown -p");break;
     case 3:
         system("shutdown -l");break;
     case 0:
         break;
     default:
         printf("Error\n");
     }
     system("pause");
     return 0;
 }

一切都在学习、尝试、摸索中
2016-12-01 23:27
我是过来人灬
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-1
收藏
得分:0 
回复 2楼 marlow
可以了。楼上么么哒~可是为什么?
2016-12-03 23:18
marlow
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:125
专家分:419
注 册:2016-7-18
收藏
得分:0 
注意这两行代码:
char cmd[20]="shutdown -s -t ";  /* -t后面留一个空格  */
system(strcat(cmd,t));break;
如果t后面没有空格的话,假如输入100秒,字符串cmd 与t相连接,就成了"shutdown -s -t100",当然得不到想要的结果
另外,char t[5]="\0";中,t原本就是个地址,因此scanf("%s",t);中t前毋须再加&了

一切都在学习、尝试、摸索中
2016-12-04 11:04
cxb5867568
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-12-4
收藏
得分:0 
厉害
2016-12-04 13:24
快速回复:为什么不行呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039162 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved