社区
C++ 语言
帖子详情
关于struct_timeb的问题。
kornrock
2006-07-07 11:46:12
struct _timeb {
time_t time;
unsigned short millitm;
short timezone;
short dstflag;
};
请问这四个字段都代表什么意思?
...全文
565
1
打赏
收藏
关于struct_timeb的问题。
struct _timeb { time_t time; unsigned short millitm; short timezone; short dstflag; }; 请问这四个字段都代表什么意思?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
EddieCai
2006-07-07
打赏
举报
回复
time是从UTC时间1970年1月1日午夜(00:00:00)起累计的秒数;
millitm是一秒内的毫秒数
dstflag不为0,说明这是夏令时时间
timezone是UTC时间和本地时间的相差分钟数
Linux时间相关结构体和函数整理
一、时间类型。Linux下常用的时间类型有4个:
time
_t,
struct
time
b,
struct
time
val,
struct
time
spec,clock_t,
struct
tm. (1)
time
_t是一个长整型,一般用来表示用1970年以来的秒数. 该类型定义在中. 一般通过
time
_t
time
=
time
(NULL); 获取. (2)
struct
time
b结构: 主要有两个成员, 一个是秒, 另一个是毫秒, 精确度为毫秒.
struct
time
b {
time
_t
time
; unsigned short millit
数据结构习题详解 答案
数据结构 严蔚敏课后习题答案 /* algo1-1.c 计算1-1/x+1/x*x… */ #include
#include
timeb.h> void main() {
struct
time
b t1,t2; long t; double x,sum=1,sum1; int i,j,n; printf("请输入x n:"); scanf("%lf%d",&x,&n); f
time
(&t1); /* 求得当前时间 */ for(i=1;i<=n;i++) { sum1=1; for(j=1;j<=i;j++) sum1=-sum1/x; sum+=sum1; } f
time
(&t2); /* 求得当前时间 */ t=(t2.
time
-t1.
time
)*1000+(t2.millitm-t1.millitm); /* 计算时间差 */ printf("sum=%lf 用时%ld毫秒\n",sum,t); }
获取当前系统本地时间,精确到毫秒的实例
实例如下: #include #include char* cur_
time
_c(char strDate
Time
[32]) {
struct
time
b tp_cur; f
time
(&tp_cur);
struct
tm btm; #ifdef WIN32 local
time
_s(&btm, &tp_cur.
time
); #else local
time
_r(&tp_cur.
time
, &btm); #endif sprintf(strDate
Time
, d-d-d d:d:d.d,
发现网络中的活动主机
#pragma pack(4) //#include "stdafx.h" #pragma comment (lib,"Ws2_32.lib") #define WIN32_LEAN_AND_MEAN #include #include #include #include #include #include #include typedef
struct
iphdr { unsigned int headlen:4; unsigned int version:4; unsigned char tos; unsigned short totallen; unsigned short id; unsigned short falg; unsigned char ttl; unsigned char prot; unsigned short checksum; unsigned int sourceIP; unsigned int destIP; }IpHeader; typedef
struct
icmphdr { BYTE type; BYTE code; USHORT checksum; USHORT id; USHORT seg; }IcmpHeader; #define ICMP_RCHO 8 #define ICMP_RCHO_REPLY 0 #define ICMP_MIN 8 #define STATUS_FAILED 0xFFFF #define DEF_PACKET_SIZE 32 #define MAX_PACKET 1024 #define MAX_PING_PACKET_SIZE (MAX_PACKET+sizeof(IpHeader)) void fill_icmp_data(char *,int); USHORT checksum(USHORT *,int); void decode_resp(char *,int,
struct
sockaddr_in *); DWORD WINAPI FindIP(LPVOID pIPAddrTemp); WSADATA wsaData; SOCKET sockRaw;
struct
sockaddr_in dest,from,end; int fromlen =sizeof(from); char *recvbuf=new char[MAX_PING_PACKET_SIZE]; unsigned int addr=0; long ThreadNumCounter=0,ThreadNumLimit=20; long *aa=&ThreadNumCounter; void main(int argc,char *argv[]) { /*if(argc!=3) { cout<<"输入格式错误: start_ip end_ip"<
timeout=1000; int bread=setsockopt(sockRaw,SOL_SOCKET,SO_RCV
TIME
O,(char *)&
time
out,sizeof(
time
out)); if(bread==SOCKET_ERROR) { cout<<"FAILED TO SEY RECV
TIME
OUT"<
timeout=1000; bread=setsockopt(sockRaw,SOL_SOCKET,SO_SND
TIME
O,(char *)&
time
out,sizeof(
time
out)); if(bread==SOCKET_ERROR) { cout<<"FAILED TO SEY RECV
TIME
OUT"<
id=(USHORT)GetCurrentThreadId(); datapart=icmp_data+sizeof(IcmpHeader); memset(datapart,'A',datasize-sizeof(IcmpHeader)); } void decode_resp(char *buf,int bytes,
struct
sockaddr_in *from) { IpHeader *iphdr; IcmpHeader *icmphdr; unsigned short iphdrlen; iphdr=(IpHeader*) buf; iphdrlen=iphdr->headlen*4; icmphdr=(IcmpHeader *)(buf+iphdrlen); if(bytestype!=ICMP_RCHO_REPLY)return; if(icmphdr->id!=(USHORT)GetCurrentThreadId())return; cout<<"活动主机: "<
>16)+(cksum& 0xffff); cksum+=(cksum>>16); return (USHORT)(~cksum); } DWORD WINAPI FindIP(LPVOID pIPAddrTemp) { InterlockedIncrement(aa); char icmp_data[MAX_PACKET]; memset(icmp_data,0,MAX_PACKET); int datasize=DEF_PACKET_SIZE; datasize+=sizeof(IcmpHeader); fill_icmp_data(icmp_data,datasize); ((IcmpHeader*)icmp_data)->checksum=0; ((IcmpHeader*)icmp_data)->seg=0; ((IcmpHeader*)icmp_data)->checksum=checksum((USHORT*)icmp_data,datasize); int bwrote=sendto(sockRaw,icmp_data,datasize,0,(
struct
sockaddr *)pIPAddrTemp,sizeof(dest)); int n=0; if(bwrote==SOCKET_ERROR) { if(WSAGetLastError()==WSAE
TIME
DOUT) { cout<<"
time
d out"<
TIMEDOUT) { cout<<"
time
d out"<
struct sockaddr *)&from,&fromlen); if(bread==SOCKET_ERROR) { if(WSAGetLastError()==WSAE
TIME
DOUT) { cout<<"
time
d out"<
严蔚敏《数据结构》的全部代码实现C语言
/* algo1-1.c 计算1-1/x+1/x*x… */ #include
#include
timeb.h> void main() {
struct
time
b t1,t2; long t; double x,sum=1,sum1; int i,j,n; printf("请输入x n:"); scanf("%lf%d",&x,&n); f
time
(&t1); /* 求得当前时间 */ for(i=1;i<=n;i++) { sum1=1; for(j=1;j<=i;j++) sum1=-sum1/x; sum+=sum1; } f
time
(&t2); /* 求得当前时间 */ t=(t2.
time
-t1.
time
)*1000+(t2.millitm-t1.millitm); /* 计算时间差 */ printf("sum=%lf 用时%ld毫秒\n",sum,t); }
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章