随笔分类 -  c

文件指针/句柄(FILE*)、文件描述符(fd)以及 文件路径(filepath)的相互转换
摘要:文件指针/句柄(FILE*)、文件描述符(fd)以及 文件路径(filepath)的相互转换最近在linux下编程常需要对一些文件进行操作。有时不同的条件下,需要将文件指针/句柄(FILE*)、文件描述符(fd)以及文件路径(filepath)进行相互转换,以满足实际的编程需要。现简单的做一下整理。如下。1:文件路径 文件描述符应是唯一的。文件指针(值)不是唯一的,但指向的对象也应该是唯一的。2: FILE*中包含fd的信息,而且还包含IO缓冲,所以可以理解为FILE*是对fd的封装,是C的标准形式,所以FILE*比fd更适合跨平台,应多用fopen,少用 open。3:转换 文件路径 到 文 阅读全文

posted @ 2011-12-31 12:00 lightsalt2011 阅读(678) 评论(0) 推荐(0)

_binary_test_c_start
摘要:test.cview plain#include<stdio.h>#include<stdlib.h>externchar*_binary_test_c_start;intmain(){printf("%s",(char*)&_binary_test_c_start);}Makefileview plainALL:test.cobjcopy-Ibinary-Oelf32-i386-Bi386test.ctest.bingcc-ottest.ctest.binobjcopy很方便的可以把文本文件做成可以连接器可以连接的对象,进而链进可执行程序里 阅读全文

posted @ 2011-11-09 17:47 lightsalt2011 阅读(324) 评论(0) 推荐(0)

char a[0] flexible array
摘要:我不知道在你所提到的环境中 char a[0] 和 char a[1]是否能起到相同效果。如果相同,则azuo_lee所举的例子很好的说明了这种用法,即:把单一元素的数组放在一个struct的尾端,于是每个struct objects可以拥有可变大小的数组。既然azuo_lee说到了这种用法,而且是“这个用法遍地都是”。我想借此宝地向大家转述大师Stanley B.Lippman对此的看法。C程序员的巧计有时候却成为C++程序员的陷阱例如把单一元素的数组放在一个struct的尾端,于是每个struct objects可以拥有可变大小的数组: struct mumble... 阅读全文

posted @ 2011-10-28 14:30 lightsalt2011 阅读(582) 评论(0) 推荐(0)

导航