兼容windows(vs) / linux(g++)的C/C++代码

1. 获取本地时间和格林时间,注意参数的顺序相反

#ifdef _MSC_VER

#elif __GNUC__

struct tm * localtime_s ( struct tm * result , const time_t * timep )
{
return localtime_r (timep, result);
}

struct tm * gmtime_s ( struct tm * result , const time_t * timep )
{
return gmtime_r (timep, result);
}

#endif

2. 字符串操作

#ifdef _MSC_VER

#elif __GNUC__

int _itoa_s ( int value , char * buf , size_t size , int radix )
{
int r = - 1 ;
if (buf == NULL || size < 30 ) return r;
if (radix == 10 ) r = sprintf_s (buf, size - 1 , " %d " , value);
else if (radix == 16 ) r = sprintf_s (buf, size - 1 , " %x " , value);
else if (radix == 8 ) r = sprintf_s (buf, size - 1 , " %o " , value);
return r;
}

size_t strcpy_s ( char * des , size_t buf_size , const char * src )
{
size_t len = strlen (src); if (len > buf_size - 1 ) len = buf_size - 1 ; memcpy (des, src, len); des [len] = 0 ; return len;
}

#endif 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qiuzen

您的资助将帮助我创作更好的作品

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值