CTP交易软件-从Windows迁移到Linux平台(2)

本篇讲讲Windows下面的C函数库与Linux下面的C函数库有哪些区别

1、_access与access
在项目中,少不免的需要读写文件,但读写文件之前,总得要判断一下文件是否已经存在,在Windows下面,判断文件是否存在的函数是_access,使用方法可以百度一下;在Linux下,使用access函数来判断。代码分别如下:
头文件:io.h
if (_access(DirFile, 0) == -1)
{
return false;
}
return true;
windows
头文件:unistd.h
if (access(DirFile, F_OK) == 0)
{
return true;
}
return false;
Linux
注意,这里函数的第一个参数也是稍微有点区别的,windows下面,指定文件名的大小写是不分的,而Linux下面的判断文件名是严格区分的,这个可以做一下实验来证明。

2、程序中有时需要等待某些事件才能往下运行,这时候需要暂停运行,sleep函数用得最多了,
但在Windows下面,是Sleep(毫秒),
在Linux下面是sleep(秒)
这里有两个区别,一、是函数名,有大小写之分;二,毫秒与秒的区别。

3、获取系统当前时间
windows:
CString Systime; //获取系统时间
CTime tm = CTime::GetCurrentTime();
Systime = tm.Format("%H%M%S");
int CurrentTime = atoi(Systime);
在这里插入图片描述
这里获取当前系统时间,或许你的交易系统不需要,而我的交易系统是需要的,首先是拿来判断当前是否开盘的时间段,第二,设置定时关闭程序、第三,定时保存行情数据等等,都需要使用。
Linux:
#include
#include
#include
int main(void)
{
time_t t = time(0);
char tmp[64];
strftime(tmp, sizeof(tmp), “%H%M%S”, localtime(&t));
int CurrentTime = atoi(tmp);
puts(tmp);
return 0;
}
CTP交易软件-从Windows迁移到Linux平台(2)_第1张图片

你可能感兴趣的:(CTP交易软件开发)