摘要:有表结构如下:CREATE TABLE students(name varchar(20),/*姓名*/age int,/*年龄*/sex varchar(10),/*性别*/classid int);/*与classes表的classid对应*/CREATE TABLE classes(classid int,/*班级ID,与students表中的classid对应*/name varchar(... 阅读全文
posted @ 2015-06-11 23:45 外禅内定,程序人生 阅读 (75) 评论 (0) 编辑
摘要:linux中主机的信息通常存储在/etc/hosts中,我们可以通过函数 gethostent读取该文件的信息。注意返回的struct hostent 结构体对象的地址是一块静态缓冲区,这个静态缓冲区的地址是固定的,当多次调用gethostent的时候,后面调用会把前面缓冲区内容覆盖掉,多次读取返回的指针指向的缓冲区的内容是一致的,这有助于防止没有释放内存而导致的内存泄漏。#include#inc... 阅读全文
posted @ 2015-06-11 23:17 外禅内定,程序人生 阅读 (58) 评论 (0) 编辑
摘要:对于IPv4协议来说,ip是一个32位的整数,对于IPv6来说,ip是一个128位的整数。在内存中,ip都以二进制的形式存储,但是不易于观察,所以可以转化将其转化为点分十进制的表达形式。在linux中,提供了 ip二进制和点分十进制互相转化的函数: inet_ntop 将二进制转化为点分十进制,af表示使用的协议,AF_INET表示使用的是IPv4,AF_INET6表示使用的IPv6,src是一... 阅读全文
posted @ 2015-06-11 23:15 外禅内定,程序人生 阅读 (51) 评论 (0) 编辑
摘要:linux环境下printf函数的输出是先把输出内容放到缓冲区,等遇到换行符或者缓冲区满的时候才会输出:#includeint main(){ printf("hello|n"); printf("world!"); while(1); return 0;}运行结果:发现就是第一个hello输出了,第二个world并没有输出那么如果我们要使用这种格式的: input your name:zhang... 阅读全文
posted @ 2015-06-11 23:13 外禅内定,程序人生 阅读 (130) 评论 (0) 编辑
摘要:在网络信息跨主机传输过程中,不同主机的字节序问题可能不同,因此必须进行字节序的转换。本地字节序--> 网络字节序 -->本地字节序字节序转换函数:htons和htonl是将本地字节序转换为网络字节序,htons是对16位整数进行转换,htonl是对32位正数进行转换,ntohs和ntohl恰好相反。判断主机字节序和网络字节序:#include#include//judge host endianv... 阅读全文
posted @ 2015-06-11 23:11 外禅内定,程序人生 阅读 (105) 评论 (0) 编辑