小弟我花了很长时间写了这个程序,目的是可以计算机电脑一个月的开机时间,比如说第一次开机3个小时,下一次开机还可以在3小时的基础上接着计时,这个程序,现在可以用了,可是我想让这个程序在电脑开机时就直接运行,于是就把 jishi.exe 拖到了自动启动栏里,可是每次开机时就不能用了,总是出现错误,当我把 time 文件一同拖到自动启动栏里时就可以用了,可是这在每次开机时都要将 time 文件关掉很麻烦。下面源程序:
#include <stdio.h>
#include <windows.h>
struct time
{int hour;
int minute;
int second;
}t;
main()
{FILE *fp;
fp=fopen("Time","r");
fread(&t,sizeof(struct time),1,fp);
while(1)
{rewind(fp);
Sleep(1000);
fread(&t,sizeof(struct time),1,fp);
if(t.second==59)
{t.minute=t.minute+1;
if(t.minute==60)
{t.hour=t.hour+1;
t.minute=0;
}
t.second=0;
}
else
t.second=t.second+1;
printf("%d:%d:%d\n",t.hour,t.minute,t.second);
fp=fopen("Time","w");
fwrite(&t,sizeof(struct time),1,fp);
fclose(fp);
}
}
当然 time 和 jishi.exe在同一目录下,我有两个总是请教各位大虾,
1:为什么只有把time连同jishi.exe都拖到自动启动栏里才能用。不把 time拖到自动启动栏里就不能用呢??
2:怎样攸修改程序才能只把jishi.exe拖到自动启动栏里时程序就能用??拖到?不知道你怎么拖的
fp=fopen("Time","r");
===
这一句默认你的time文件和你的主程序应当在同一目录下,否则就会出错
你可以把time文件加上路径(包括创建的时候),这样应该就没问题了。比如:
fp=fopen("c:\Time","r");你可以把time文件加上路径(包括创建的时候),这样应该就没问题了。比如:
fp=fopen("c:\Time","r");
fp=fopen("c:\Time","r"); ==> fp=fopen("c:\\Time","r");如果是:
FILE *fp;
char filename[100];
printf("enter the filename:");
scanf("%s",filename);
fp=fopen(filename,"r");
输入时只输入c:\Time即可。
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |