当前位置: 首页 > news >正文

能用pinduoduo做网站吗深圳网站建设 设计卓越

能用pinduoduo做网站吗,深圳网站建设 设计卓越,石家庄装修公司排名,龙华属于深圳哪个区本节我们重点来谈论#xff1a; 时间类和我们的初始化链接地址类 文章目录 Timestamp类成员函数实现 InetAddress类具体实现 Timestamp类 我们为什么要封装一个时间类呢#xff1f; 这也是一个大型项目必须的基础组建#xff0c;这样我们不仅可以提高代码的可读性#xf…本节我们重点来谈论 时间类和我们的初始化链接地址类 文章目录 Timestamp类成员函数实现 InetAddress类具体实现 Timestamp类 我们为什么要封装一个时间类呢 这也是一个大型项目必须的基础组建这样我们不仅可以提高代码的可读性并且封装细节避免了直接操作时间时可能引发的错误提高代码的健壮性。 //时间类 class Timestamp { public:Timestamp();explicit Timestamp(int64_t microSecondsSinceEpoch_);//返回当前时间-长整形static Timestamp now();//将长整型转换为年月日字符串std::string toString() const; private:int64_t microSecondsSinceEpoch_; };时间类的作用主要就是以上几个 获取当前时间返回值是一个长整型长整型转换为年月日 调用方式应为 int main () {cout Timestamp::now().toString() endlreturn 0; }成员函数实现 #include Timestamp.h#include time.hTimestamp::Timestamp(): microSecondsSinceEpoch_(0) {}Timestamp::Timestamp(int64_t microSecondsSinceEpoch): microSecondsSinceEpoch_(microSecondsSinceEpoch){}Timestamp Timestamp::now() {//返回对象实例对象成员变量是当前的 int64_treturn Timestamp(time(NULL)); }std::string Timestamp::toString() const {char buf[128] { 0 };tm *tm_time localtime(microSecondsSinceEpoch_);snprintf(buf, 128, %4d/%02d/%02d %02d:%02d:%02d, tm_time-tm_year 1900, tm_time-tm_mon 1,tm_time-tm_mday,tm_time-tm_hour,tm_time-tm_min,tm_time-tm_sec);return buf; }time(NULL)返回一个 64 位整数是自 Unix 纪元1970 年 1 月 1 日 00:00:00 UTC以来的时间变量类型为int64_t InetAddress类 该类也比较简单就是封装 socket 地址的类型 class InetAddress { public:explicit InetAddress(uint16_t port, std::string ip 127.0.0.1);explicit InetAddress(const sockaddr_in addr): addr_(addr){}std::string toIP() const;std::string toIpPort() const;uint16_t toPort() const;const sockaddr_in* getSockAddr() const {return addr_;}private:sockaddr_in addr_; };toIP()返回 InetAddress 对象中存储的 IP 地址的字符串表示toIpPort()返回 InetAddress 对象中存储的 IP 地址和端口号的字符串表示格式为 IP:PorttoPort()返回 InetAddress 对象中存储的端口号。getSockAddr()返回指向内部 sockaddr_in 结构体的指针方便在其他网络操作中使用。私有成员变量 sockaddr_in addr_存储 IP 地址和端口号的结构体包含了网络地址信息。 该类的主要作用就是 提供对 IP 地址和端口号的封装便于在网络编程中管理和使用提供方便的方法来获取和表示网络地址和端口的信息通过提供的函数能够轻松地转换地址和端口信息为字符串格式便于调试和日志记录。 具体实现 InetAddress::InetAddress(uint16_t port, std::string ip) {bzero(addr_, sizeof addr_);addr_.sin_family AF_INET;addr_.sin_port htons(port);addr_.sin_addr.s_addr inet_addr(ip.c_str()); }std::string InetAddress::toIP() const {//addr_char buf[64] {0};::inet_ntop(AF_INET, addr_.sin_addr, buf, sizeof buf);return buf; }std::string InetAddress::toIpPort() const {//ip: portchar buf[64] {0};::inet_ntop(AF_INET, addr_.sin_addr, buf, sizeof buf);size_t end strlen(buf);uint16_t port ntohs(addr_.sin_port);sprintf(bufend, :%u, port);return buf; }uint16_t InetAddress::toPort() const {return ntohs(addr_.sin_port); }我们可以看出构造函数已经为我们封装好了sockaddr_in的配置我们只需要传入ip和port即可 然后这里主要解释几个函数 const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);inet_ntop(AF_INET, addr_.sin_addr, buf, sizeof buf);inet_ntop 是一个用于将网络地址转换为字符串表示的函数. af地址族通常为 AF_INET表示 IPv4或 AF_INET6表示 IPv6。 src指向存储有IP的结构体。 dst指向用于存储转换后的字符串的缓冲区。 size缓冲区的大小。 int sprintf(char *str, const char *format, ...);sprintf(buf end, :%u, port);sprintf 是一个 C 标准库函数用于将格式化的数据写入字符串中。 这里的bufend其实就是接着之前写进去的ip后面继续写port端口。
http://www.hkea.cn/news/14425466/

相关文章:

  • 做短视频网站大数据分析网站
  • 百度wordpress博客福州网络营销推广产品优化
  • 网站建设的经费电脑ppt制作软件
  • 银川网站制作报价已备案域名交易
  • 网站建设可行性研究报告范文网站建设代理公司
  • 福田做商城网站建设哪家公司便宜点网页设计简单教程
  • 昆明二建建设集团网站装修装饰网站建设
  • 论文中引用网站中上海知名网站
  • 重庆公司网站建设河南省建筑一体化平台官网
  • 如何建立像淘宝一样的网站个人网站制作模板
  • 如何做品牌营销网站专题页优化
  • 百度的网站收录怎么做做网站设计公司
  • 温州网站推广站建设网站开发需要怎么做
  • wordpress 页眉修改外贸网站优化免费渠道
  • 简单网站建设价格从化区建设网站
  • 国外酷炫flash网站网站做自签发证书
  • 高校网络网站建设意义及措施网站建设做网站可以吗
  • 淘宝客网站源码html网站建设方案书制作流程
  • 不想让网站保存密码怎么做三大oa办公软件
  • 做国际网站阿里巴巴现在的网站使用frameset做吗
  • 网站保留密码 怎么做建设银行网站的特点
  • 学校网站建设维护投标方案网站建设如何报价
  • 公关就是陪人睡觉吗关键词优化营销
  • 酒东莞网站建设技术支持免费做期中考试的网站
  • 企业建设网站个人总结左旗网站建设公司
  • 提升访问境外网站速度网站手册
  • 多语网站wordpress子站点外国公司做网站
  • 可以用手机做网站吗吕梁营销型网站建设费用
  • 东莞网站开发哪家强店铺装修一平方大概多少钱
  • 蓝一互动网站建设个人演讲比赛ppt模板