摘要: 转自: http://blog.csdn.net/hackbuteer1/article/details/7734382 http://m.blog.csdn.net/blog/xhu_eternalcc/38355619 迭代器(iterator)是一个可以对其执行类似指针的操作(如:解除引用(operator*())和递增(operator++()))...阅读全文
posted @ 2015-07-31 21:43 外禅内定,程序人生 阅读(216) 评论(0) 编辑
摘要: 转自: http://www.williamlong.info/archives/3356.html 我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致网民使用正常的上网设置无法通过域名解析出正确的IP地址。常用的手段有:DNS劫持和DNS污染。 什么是DNS劫持 DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域...阅读全文
posted @ 2015-07-29 18:31 外禅内定,程序人生 阅读(51) 评论(0) 编辑
摘要: #include int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。Result1(推荐的用法)#include ...阅读全文
posted @ 2015-06-17 19:23 外禅内定,程序人生 阅读(34) 评论(0) 编辑
摘要: 有表结构如下: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 外禅内定,程序人生 阅读(47) 评论(0) 编辑
摘要: linux中主机的信息通常存储在/etc/hosts中,我们可以通过函数 gethostent读取该文件的信息。注意返回的struct hostent 结构体对象的地址是一块静态缓冲区,这个静态缓冲区的地址是固定的,当多次调用gethostent的时候,后面调用会把前面缓冲区内容覆盖掉,多次读取返回的指针指向的缓冲区的内容是一致的,这有助于防止没有释放内存而导致的内存泄漏。#include#inc...阅读全文
posted @ 2015-06-11 23:17 外禅内定,程序人生 阅读(28) 评论(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 外禅内定,程序人生 阅读(29) 评论(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 外禅内定,程序人生 阅读(32) 评论(0) 编辑
摘要: 在网络信息跨主机传输过程中,不同主机的字节序问题可能不同,因此必须进行字节序的转换。本地字节序--> 网络字节序 -->本地字节序字节序转换函数:htons和htonl是将本地字节序转换为网络字节序,htons是对16位整数进行转换,htonl是对32位正数进行转换,ntohs和ntohl恰好相反。判断主机字节序和网络字节序:#include#include//judge host endianv...阅读全文
posted @ 2015-06-11 23:11 外禅内定,程序人生 阅读(58) 评论(0) 编辑
摘要: 共享内存解释:linux中进程对任何非进程地址空间的访问都是违法的,所以进程1和进程2是不能直接访问共享内存区域的,共享内存在进程1和进程2的地址空间中都会映射一段同样大小的内存区域,所有挂载在该共享内存上的进程都会开辟同样大小的内存,所有对进程内存的操作都会被同步到共享内存,以此实现进程间的通信。创建共享内存的方法:#include#include#include#define BUF_SIZE...阅读全文
posted @ 2015-06-09 22:02 外禅内定,程序人生 阅读(143) 评论(0) 编辑
摘要: FIFO解决了在进程通信的时候产生大量临时文件的问题,并且可以实现非血缘关系进程间的通信,而且可以保留给后来的进程使用。FIFO的读写规则和匿名管道的读写规则相似,不过FIFO保存在磁盘上,而匿名管道保存在内存里。当FIFO的写进程关闭的时候,会向FIFO的读进程发送一个文件结束符。客户端:#include#include#include#include#include#includeint ma...阅读全文
posted @ 2015-06-09 12:50 外禅内定,程序人生 阅读(40) 评论(0) 编辑