C++设置系统时间及系统时间网络更新的方法
2023-06-13 09:15:29 时间
本文实例讲述了C++设置系统时间及系统时间网络更新的方法。分享给大家供大家参考。具体实现方法如下:
voidsetTimeFromTP(ULONGulTime)
{
FILETIMEft;
SYSTEMTIMEst;
//将基准时间转换成windows文件时间
st.wYear=1900;
st.wMonth=1;
st.wDay=1;
st.wHour=0;
st.wMinute=0;
st.wSecond=0;
st.wMilliseconds=0;
SystemTimeToFileTime(&st,&ft);
LONGLONG*pLLong=(LONGLONG*)&ft;
*pLLong+=(LONGLONG)10000000*ulTime;
FileTimeToSystemTime(&ft,&st);
::SetSystemTime(&st);
}
voidmain()
{
CInitSockinitSock;
SOCKETs=::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(s==INVALID_SOCKET)
{
printf("socketerror...");
return;
}
sockaddr_inservAddr={0};
servAddr.sin_family=AF_INET;
servAddr.sin_port=::htons(37);
servAddr.sin_addr.S_un.S_addr=::inet_addr("69.25.96.13");//别用210.72.145.44这个IP,这是天朝的常TMD不返回值
if(SOCKET_ERROR==::connect(s,(sockaddr*)&servAddr,sizeof(servAddr)))
{
printf("connecterror..");
return;
}
//接收时间
ULONGulTime=0;
intnRecv=::recv(s,(char*)&ulTime,sizeof(ulTime),0);
if(nRecv>0) //收到数据
{
ulTime=::ntohl(ulTime);
setTimeFromTP(ulTime);
}
else
{
printf("recverror...");
return;
}
::closesocket(s);
printf("*******************************");
getchar();
}
希望本文所述对大家的C++程序设计有所帮助。
相关文章
- C++学习——c++逗号操作符说明(附加全部运算符优先级)
- c++中CreateEvent函数「建议收藏」
- C++大数运算_size_t几个字节
- c++的链表-链表入门(C++)
- pyTorch入门(四)——导出Minist模型,C++ OpenCV DNN进行识别
- C++中static关键字的作用
- 【C++】C++入门
- 开心档之C++ 多态
- C++读写.mat文件的方法
- C++中的异或运算符^的使用方法
- C++中访问字符串的三种方法总结
- 安卓应用开发通过java调用c++jni的图文使用方法
- php调用c++的方法
- C++之CNoTrackObject类和newdelete操作符的重载实例
- VC++中进程与多进程管理的方法详解
- VC++实现输出GIF到窗体并显示GIF动画的方法
- VC++实现CStdioFile写入及读取文件并自动换行的方法