代码:
// chartoin.c #include "chartoin.h" int ctoint(char digit_10, char digit_1) { int c; c=toascii(digit_1)-48; c+=10*(toascii(digit_10)-48); return c; }
// main.c #include <stdio.h> #include <time.h> #include "timeParser.c"
int main(int argc, char *argv[]) { struct time *myTime; int secDur; time_t timeNow, timeBegin, timeTemp; myTime=malloc(sizeof(struct time)); myTime=timeParser(myTime, argv[1]); secDur=timetosec(myTime); time(&timeBegin); printf("Begin:"); time(&timeNow); timeTemp=timeNow; while (timeNow-timeBegin<secDur) { time(&timeNow); if (timeNow-timeTemp>=1) { printf("%s\n",ctime(&timeNow)); timeTemp=timeNow; } } }
// timeParser.c #include "timeParser.h"
struct time *timeParser(struct time *myTime, char *timeString) { int i; // for Loop int tmp[3]; char d_1,d_10; char *strPointer; strPointer=timeString; for(i=0;i<3;i++) { d_10=*strPointer++; d_1=*strPointer++; tmp[i]=ctoint(d_10,d_1); strPointer++; // skip the `:' } myTime->hur=tmp[0]; myTime->min=tmp[1]; myTime->sec=tmp[2]; return myTime; }
int timetosec(struct time *timePot) { int timeRet=timePot->sec; timeRet+=timePot->min*60; timeRet+=timePot->hur*3600; return timeRet; }
// chartoin.h #include<stdio.h> int ctoint(char digit_10, char digit_1);
// timeParser.h #include "chartoin.c"
struct time { int sec; int min; int hur; };
struct time *timeParser(struct time *myTime, char *timeString); �
不同的代码应该放到对应的不同的文件里面去
[此贴被 月之御者(kert_t8) 在 01月22日09时09分 编辑过]
|