|
首先感谢 @福仔 给予的帮助
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
char* pjzf(char *ss);//声明程序
char* zupj(char *cur1, char *cur2, char *cur3);//声明程序
extern "C" __declspec(dllexport) char* _stdcall Add(int a);//这个程序好像可以不用声明
extern "C" __declspec(dllexport) char* _stdcall Add(int a)
{
/*计算小时*/
char *ss = (char*)malloc(3);
int s = a / 3600; //计算有多少个小时
char *sw = (char*)malloc(sizeof(s) +1);//声明变量 并分配大小 长度为s的长度加一
_itoa(s, ss, 10);//把小时 整数型 转换成 char*
sw = s < 10 ? pjzf(ss) : strcpy(sw, ss);//说明 如果 s 小于 10 调佣pjzf(ss) 函数否则 sw = ss
/*计算分钟*/
int f = (a % 3600) / 60;//计算有多少分钟
_itoa(f, ss, 10);//把分钟 整数型 转换成 char*
char *sf = (char*)malloc(3);//分钟的长度最多为2所以直接分配3个
sf = f < 10 ? pjzf(ss) : strcpy(sf, ss);//和上面一样
/*计算秒*/
int m = a % 3600 % 60;//计算有多少秒
_itoa(m, ss, 10);//把秒 整数型 转换成 char*
char *sm = (char*)malloc(3);//秒的长度最多为2所以直接分配3个
sm = m < 10 ? pjzf(ss) : strcpy(sm, ss);//和上面一样
return zupj(sw,sf,sm);//把时间串联到一起然后返回
}
char* pjzf(char *ss) {
char *sw = (char*)malloc(sizeof(ss) + 1);
strcpy(sw, "0");
strcat(sw, ss);
return sw;
}
char* zupj(char *cur1, char *cur2, char *cur3) {
char *wb = (char*)malloc(sizeof(cur1) + sizeof(cur2) + sizeof(cur3) + 4);;
strcpy(wb, cur1);
strcat(wb, ":");
strcat(wb, cur2);
strcat(wb, ":");
strcat(wb, cur3);
return wb;
}
|
|