C++设置系统时间及系统时间网络更新的方法

 更新时间:2014年10月20日 11:50:56   投稿:shichen2014  
这篇文章主要介绍了C++设置系统时间及系统时间网络更新的方法,涉及网络程序设计与系统函数的使用,需要的朋友可以参考下

本文实例讲述了C++设置系统时间及系统时间网络更新的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
//根据返回的时间设置系统时间
void setTimeFromTP(ULONG ulTime)

    FILETIME ft; 
    SYSTEMTIME st; 
 
    //将基准时间转换成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); 

 
void main() 

    CInitSock initSock; 
    SOCKET s = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 
    if (s == INVALID_SOCKET) 
    { 
        printf("socket error..."); 
        return; 
    } 
    sockaddr_in servAddr = {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("connect error.."); 
        return; 
    } 
 
    //接收时间 
    ULONG ulTime = 0; 
    int nRecv = ::recv(s, (char*)&ulTime, sizeof(ulTime), 0); 
    if (nRecv > 0)  //收到数据 
    { 
        ulTime = ::ntohl(ulTime); 
        setTimeFromTP(ulTime); 
    } 
    else 
    { 
        printf("recv error..."); 
        return; 
    } 
     
    ::closesocket(s); 
    printf("*******************************"); 
    getchar(); 
}

希望本文所述对大家的C++程序设计有所帮助。

相关文章

  • C++实现从数组中同时取出最大最小元素算法示例

    C++实现从数组中同时取出最大最小元素算法示例

    这篇文章主要介绍了C++实现从数组中同时取出最大最小元素算法,结合具体实例形式分析了C++通过数组的遍历、排序获取最大与最小元素的相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • C语言实现万年历程序

    C语言实现万年历程序

    这篇文章主要为大家详细介绍了C语言实现万年历程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • C++类与对象的基础知识点详细分析

    C++类与对象的基础知识点详细分析

    类和对象是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型;变量就是可以变化的量,存储在内存中—个可以拥有在某个范围内的可变存储区域
    2023-02-02
  • 在Qt中使用QtWebApp搭建HTTP服务器的详细步骤

    在Qt中使用QtWebApp搭建HTTP服务器的详细步骤

    QtWebApp是一个开源项目,它基于著名的Qt Framework开发,提供了一种在C++环境中构建HTTP服务器的解决方案,这篇文章主要给大家介绍了关于在Qt中使用QtWebApp搭建HTTP服务器的详细步骤,需要的朋友可以参考下
    2024-07-07
  • 解析C++ 浮点数的格式化显示

    解析C++ 浮点数的格式化显示

    本篇文章是对C++中浮点数的格式化显示进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++学习笔记之类与对象详解

    C++学习笔记之类与对象详解

    这篇文章主要为大家介绍了C++类与对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • C++模拟实现string的方法详解

    C++模拟实现string的方法详解

    标准库类型string表示可变长的字符序列,使用string类型必须首先包含string的头文件。本文将利用C++模拟实现string,需要的可以参考一下
    2022-11-11
  • C语言获取数组长度的几种方法

    C语言获取数组长度的几种方法

    这篇文章主要介绍了C语言获取数组长度的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Recommended C Style and Coding Standards中文翻译版

    Recommended C Style and Coding Standards中文翻译版

    本文翻译自Recommended C Style and Coding Standards(C语言编码风格和标准),需要的朋友可以参考下
    2014-04-04
  • 深入浅出理解C语言初识结构体

    深入浅出理解C语言初识结构体

    C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项,本篇让我们来了解C 的结构体
    2022-02-02

最新评论