c c++
iHunks
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
#define小结
1. 定义简单的常数:定义常量,便于修改(切不可在后面加上分号!) #define N 1000 等效于 const int N = 1000; 但略有不同,define只是简单替换,而不是作为一个量来使用. 2. 定义简单的函数:注意多使用括号 #define MAX(x, y) ((x) > (y)) ? (x) : (y) 3. 定义单行宏:主要有以下三种用法. 1)转载 2012-12-25 13:49:58 · 396 阅读 · 0 评论 -
open函数中参数选项O_EXCL解析
带O_EXCL参数选项的差别: 第一种: int fd = open(PATH, O_RDWR | O_CREAT, 0666); 当PATH存在时,函数返回值fd为该文件描述符,不存在则创建,函数返回值fd也为该文件描述符; --------------- --------------------------------------------------------------原创 2013-01-14 11:17:12 · 1411 阅读 · 0 评论 -
memcpy和strncpy总结
strncpy(char *s1,const char *s2,int n); void *memcpy(void *dest, const void *src, size_t n);总结:1、strncpy参数类型不同于memcpy,其只针对字符串拷贝,当遇“\0”停止拷贝,所以 对于在数据中包含“\0”的数据只能用memcpy的数据只能用memcpy。2、如果指定的长度(n)比源字符串长度原创 2013-02-25 16:11:28 · 735 阅读 · 0 评论 -
setbuf和setvbuf两函数学习记录
char buf[SIZE]; setbuf(FILE *stream, char *buf); 1、只要buf非NULL,stream就是会缓冲。就算(定义char buf[0];0个成员)的时候也能缓冲。 char buf[SIZE]; setvbuf(FILE *stream, char *buf, type, size_t); 1、在type类型为_IOFBF时,只有原创 2013-02-28 16:44:18 · 832 阅读 · 1 评论 -
#和##及__VA_ARGS__
转载来源:http://www.cnblogs.com/zhujudah/archive/2012/03/22/2411240.html 1.# 假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizing).转载 2013-03-22 10:04:28 · 441 阅读 · 0 评论 -
编译时断言
转载来源:http://www.eet-china.com/ARTP_8800380276_0.HTM 一段时间以来,笔者一直在讨论如何在C和C++中使用结构来定义存储器映射器件寄存器的布局,并曾讨论了可以用来为相应寄存器给每个结构成员以合适的尺寸和排列。然而,不同的平台对数据的排列和填充不一样。因此,一个特定的结构定义对一个平台能正确布局结构成员,但对另外一个不同的平台进行编译时,转载 2013-07-29 15:22:19 · 934 阅读 · 0 评论 -
C结构体之位域(位段)
转载:http://www.cnblogs.com/bigrabbit/archive/2012/09/20/2695543.html#2576049 C结构体之位域(位段) 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称转载 2013-09-02 10:37:35 · 859 阅读 · 1 评论
分享