每天向服务器发送一次消息,每隔60秒查询一下是否是新的一天了,如果就继续睡眠,不是就发送消息
是新的一天就发送消息,不是就继续睡眠
C语言是怎么来判断两次时间是不是同一天的?
答案:3 悬赏:80 手机版
解决时间 2021-03-15 09:18
- 提问者网友:缘字诀
- 2021-03-14 11:36
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-03-14 11:56
structure date
{
int year;
int month;
int day;
}
每次发送12个字节的结构给服务器,服务器判断这12个字节是否完全一致,一致就是同一天,不一致就是新的一天。
{
int year;
int month;
int day;
}
每次发送12个字节的结构给服务器,服务器判断这12个字节是否完全一致,一致就是同一天,不一致就是新的一天。
全部回答
- 1楼网友:廢物販賣機
- 2021-03-14 14:31
题目写反了吧,是每分钟check一下系统日期是否己变更,若是的话就更新服务器信息(发条指令过去)。其实很简单,主要是逻辑判断是否则一天。写个循环,设两日期变量(结构),每六十秒读一次系统日期,将上一数值与之前的作比较,就行了。
- 2楼网友:行路难
- 2021-03-14 13:06
#include#includeint istime(char *str){ int i,j,flag=1; //初始flag为1 char ch; for(i=0,j=0;(ch=*(str+i))!='\0';i++){ if(ch==':'){ //当读到字符':'时判断字符个数是否大于2 if(j>2){ //若j>2表示大于2,也就与时间格式不一致,则令flag=0 flag=0; } j=0; //读到字符':'时在令j为0以重新计数 } else j++; } if(j>2) flag=0; //由于读到上面的for循环条件是"若读的字符为'\0',则退出循环",所以这里再次判断j是否大于0 return flag;}void main(){ char string[10]; printf("input the string:"); gets(string); if(istime(string)) printf("true"); //如果flag为1则表示输入的字符串是时间格式,打印true else printf("false"); //否则打印false getch();} 如果要判断输入的数字是否在0到24之间的话,需要再定义两个字符串用来接收冒号前后的字符串,并调用库函数atoi(const*str)将字符串转化成数字再判断,有点麻烦哦!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯