| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1209 人关注过本帖
标题:运行就崩溃
只看楼主 加入收藏
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
运行就崩溃
各位大神,不知道是哪里有问题,求指正
#include <stdio.h>
#include <conio.h>
#include <windows.h>
struct time
{
    int hour;
    int minute;
    int second;
}t;
main()
{
    FILE *fp;
    fopen("time","r");
    fread(&t,sizeof(struct time),1,fp);
    while(!kbhit())
    {
        Sleep(1);
        if(t.second==59)
        {
            t.minute++;
            t.second=0;
          if(t.minute==59)
           {
                  t.hour++;
               t.minute=0;
           }
        }
        else
        t.second++;
        printf("累计开机时间为:%d:%d:%d\n",t.hour,t.minute,t.second);
        fp=fopen("time","w");
        fwrite(&t,sizeof(struct time),1,fp);
        fclose(fp);
    }
}
搜索更多相关主题的帖子: second minute include 
2016-07-26 15:19
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
1. fp没有赋值:fp = fopen("time", "r");
2. time这个是什么文件?能打开吗
2016-07-26 15:37
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 2楼 grmmylbs
谢谢,那个Sleep()对应的单位是毫秒吗?
文件有的!
还有打开文件显示乱码应该是fwrite输出二进制的原因吧?
2016-07-26 16:10
晓益
Rank: 4
来 自:江苏扬州
等 级:业余侠客
威 望:2
帖 子:85
专家分:220
注 册:2016-7-9
收藏
得分:10 
回复 楼主 ehszt
程序代码:
#include <stdio.h>
#include <conio.h> 
#include <windows.h>
struct time
{
    int hour;
    int minute;
    int second;
}t;
main()
{
    FILE *fp;
    //fopen("time","r")         ;
    //fread(&t,sizeof(struct time),1,fp); 这两行语句没必要啊,而且fp还没有指向
    while(!kbhit())
    {
        Sleep(1);
        if(t.second==59)
        {
            t.minute++;
            t.second=0;
          if(t.minute==59)
           {
                  t.hour++;
               t.minute=0;
           }
        }
        else
        t.second++;
        printf("累计开机时间为:%d:%d:%d\n",t.hour,t.minute,t.second);
        fp=fopen("E:\\time.txt","a");  //文件名,还是有完整路径和格式的   “w”:没有文件就创建,且会删除文件里所有内容,“a”是追加
        fwrite(&t,sizeof(struct time),1,fp);
        fclose(fp);
    }
}


[此贴子已经被作者于2016-7-26 16:17编辑过]


千里之行,始于足下。
思考问题伤细胞,得分不容易。解决完问题请尽快结贴
2016-07-26 16:14
晓益
Rank: 4
来 自:江苏扬州
等 级:业余侠客
威 望:2
帖 子:85
专家分:220
注 册:2016-7-9
收藏
得分:0 
回复 3楼 ehszt
肯定乱码,你以文本形式打开二进制输入。

千里之行,始于足下。
思考问题伤细胞,得分不容易。解决完问题请尽快结贴
2016-07-26 16:16
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
是毫秒。
2016-07-26 16:17
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
回复 4楼 晓益
有必要的,这样可以继续上回的开始计时!
2016-07-26 16:51
晓益
Rank: 4
来 自:江苏扬州
等 级:业余侠客
威 望:2
帖 子:85
专家分:220
注 册:2016-7-9
收藏
得分:0 
回复 7楼 ehszt
fp=fopen("E:\\time.txt","a"); //这就已经可以了啊,它的作用是打开已有的文件,在原内容的基础上执行追加操作

千里之行,始于足下。
思考问题伤细胞,得分不容易。解决完问题请尽快结贴
2016-07-26 17:06
StadyC
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:182
专家分:430
注 册:2016-10-13
收藏
得分:0 
打开文件必须带后缀名的说明是什么文件的
2016-10-17 16:20
快速回复:运行就崩溃
数据加载中...
 
   



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

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