编程语言
文章平均质量分 79
ruanben
这个作者很懒,什么都没留下…
展开
-
dup and dup2的剖析
dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。如果两个文件描述符指向同一个file结构体,File Status Flag和读写位置只保存一份在file结构体中,并且file结构体的引用计数是2。如果两次open同一文件得到两个文件描述符,则每个描述符对应一个不同的file结构体,可以有不同的File Status Flag和读写位置。请注意区转载 2013-10-10 18:54:18 · 708 阅读 · 0 评论 -
c++中由于delete造成的悬垂指针
今天在调试程序时,出现了一点BUG,原来是悬垂指针...... 今天在使用c++的引用,对引用作为函数返回值不是很理解,于是做了一个小测试: 这个程序本没有问题,引用作为返回值(注意不能返回局部变量),a是动态分配的内存,可以返回的。 linux 下的运行结果如下:4 然后我想借助delete,让返回的值非法转载 2013-10-10 18:57:32 · 904 阅读 · 0 评论 -
结构体对齐详解
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:struct test转载 2014-02-18 15:36:06 · 643 阅读 · 0 评论 -
ifstream 文件流读取格式数据出现的问题
在文件中均为数字的时候,需要将这些数字按整型读取,可以直接利用文件流进行读取,但是一旦文件中存在非数字字符的时候,比如出现字符串就会出现异常。因此我们需要处理这种情况。下面这段程序可以处理这个问题。其实问题的关键就是在in.ignore()函数。该函数的原型为:istream& ignore (streamsize n = 1, int delim = EOF);第一个原创 2016-01-21 15:03:27 · 4122 阅读 · 0 评论