
c语言
文章平均质量分 53
lijie_sh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sprintf详解
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [, arg转载 2007-06-21 10:18:00 · 380 阅读 · 0 评论 -
结构体中的位域
转自:http://hi.baidu.com/ddrmsdos/blog/item/14360817ecf30c004b90a75a.html 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位转载 2009-12-21 14:51:00 · 189 阅读 · 0 评论 -
const int *p,const * int p,int const *p
转自:http://www.cnblogs.com/jcss2008/archive/2009/03/25/1421540.html 1 从const int i 说起 有了const修饰的ic 我们不称它为变量,而称符号常量,代表着20这个数。这就是const 的作用。ic是不能在它处重新赋新值了。 认识了const 作用之后,另外,我们还要知道格式的写法。有两种:co转载 2009-12-21 15:46:00 · 182 阅读 · 0 评论 -
BMP 文件格式解析---转
标题:[转帖]BMP格式解析BMP格式解析 参考文章:《位图文件(BMP)格式分析以及程序实现》 本来应该先着手把SDRAM模块再整理包装一下,但是今天没法静心整理代码,所以就干脆趁着周末转载 2010-01-25 10:06:00 · 398 阅读 · 0 评论 -
了解EBP寄存器
在寄存器里面有很多寄存器虽然他们的功能和使用没有任何的区别,但是在长期的编程和使用中,在程序员习惯中已经默认的给每个寄存器赋上了特殊的含义,比如:EAX一般用来做返回值,ECX用于记数等等。在win32的环境下EBP寄存器用与存放在进入call以后的ESP的值,便于退出的时候回复ESP的值,达到堆栈平衡的目的。 应用以前说过的一段话: 原程序的OEP,通常是一开始以 Push转载 2009-09-07 14:39:00 · 5709 阅读 · 2 评论 -
C/C++语言void及void指针深层探索 2006-08-05 06:00作者:出处:blog责任编辑:方舟
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作转载 2009-06-15 13:42:00 · 269 阅读 · 0 评论 -
变量初始化
习惯了在VC6.0下编程,经常对变量不进行初始化,导致在vc2008上会出现各种各样的error,注意注意原创 2009-06-10 09:33:00 · 191 阅读 · 0 评论 -
可重入函数
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。 也可以这样理解,重入即表示重复进入,首先它意味着这个函转载 2009-06-11 09:34:00 · 260 阅读 · 0 评论 -
结构体初始化
楼主,这是编译器的问题。你的编译器不支持对一个结构体型的自动(automatic)变量内部的域进行一次性初始化。在这样的编译环境下,任何类似 struct s1 b = { "hello", 1, &b }; 这样的初始化的语句都是非法的。TC确实不允许这样的初始化, TC++里面编译这样的C代码也不行,看来Borland的开发者们还是忠于的早期的C风格。LCC看来也不支持。早期的C以及ANSI转载 2009-06-02 14:43:00 · 2378 阅读 · 1 评论 -
ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS
2009年07月13日 星期一 13:56 一直对字符的各种编码方式懵懵懂懂,什么ANSI、UNICODE、UTF-8、GB2312、GBK、DBCS、UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Lets go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8转载 2009-07-31 12:30:00 · 2618 阅读 · 6 评论 -
callback 函数中访问类成员变量
如何在callback 函数中访问类的成员变量,今天遇到了这个问题,半天才解决,由于callback函数必须为static函数,而static函数 不能访问非static变量其实很简单,只需要声明一个类的指针,将指针指向该类,并将该指针传入callback函数即可以对该类中的任何成员进行操作了 例如 class CGPS_zzDlg : public CDialog{// C原创 2008-09-29 18:58:00 · 591 阅读 · 0 评论 -
EVC下对文件的操作
WinCE 下实用EVC对txt文件操作其实和VC下的操作比较类似: 打开用Open,关闭用Close(),文件指针移动用Seek,读文件用Read(),写文件用Write,获取文件属性可以使用GetFileStatus方法,这个可以查看MSDN,下面给几行简单代码:CFile file;bool isOpenOK = file.Open(L"//flash disk//flyfox原创 2008-10-01 16:04:00 · 290 阅读 · 0 评论 -
VC调试入门----转 作者:阿荣
概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。 设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创转载 2007-11-11 21:56:00 · 490 阅读 · 0 评论 -
VC++动态链接库(DLL)的加载
4.1一个简单的DLL第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。如 <!-- --> 图6,在VC++中n转载 2007-08-17 10:02:00 · 4614 阅读 · 3 评论 -
volatile关键字有什么用?
volatile关键字有什么用? 恐怕比较一下volatile和synchronized的不同是最容易解释清楚的。volatile是变量修饰符,而synchronized则作用于一段代码或方法;看如下三句get代码: int i1; int geti1() {return i1;} volatile int i2;转载 2007-06-29 14:22:00 · 317 阅读 · 0 评论 -
常用ASCII码表
IT小屋____常用ASCII码表 键盘 ASCII码 键盘 ASCII码原创 2007-06-29 13:54:00 · 376 阅读 · 0 评论