Application Program
应用编程
501007162021
这个作者很懒,什么都没留下…
展开
-
【记录】char--->CString
CString strBuf;char szBuf[512] = "This is real world!"; strBuf = szBuf; // 将 char 字符串转换成 CString原创 2014-09-15 12:38:52 · 276 阅读 · 0 评论 -
【知识点】a=*P++
++的优先级高于*(指针运算符)yinci原创 2014-09-19 19:30:13 · 1060 阅读 · 0 评论 -
【答疑】在8位CPU平台上,int类型还是4个字节吗?
注:此处为了便于阐明问题,认为C语言规定int类型数据为4个字节(当然事实并不是这样的).在8位CPU平台上,int类型还是4个字节吗?答案:在8位CPU平台上,int类型仍然是4个字节.原因:int类型数据为几个字节与CPU的位数没有直接的关系,它是语言标准和编译器共同作用的结果.举例:对于8位的CPU来说,其加法器,通用寄存器都是8位的,那么它能够计算100...原创 2014-10-07 16:21:21 · 3064 阅读 · 0 评论 -
【技巧】用union验证机器为大端还是小端
union U{ short a; char c;};U u;在C Programming Language 一书中对于联合体是这么描述的: 1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最"宽"的成员;4)其对齐方式要适合其中所有的成员;...原创 2014-10-11 16:43:22 · 3093 阅读 · 0 评论 -
【知识点】extern "c"
extern “C”总结经常看到如下代码:#ifdef _cplusplusextern "C" {#endif#include "XXX.h"#ifdef _cplusplus}#endif解释:extern "C"的作用是,告诉C++编译器,下面的代码按照C的方式进行编译,说白了,不要对这些函数进行名字重整(fun转载 2014-11-26 17:58:24 · 401 阅读 · 0 评论 -
【记录】c++中构造函数初始化的方法以及主要区别
原文地址:http://blog.163.com/tfn2008@yeah/blog/static/11032131920113602529911/一、我的问题是关于初始化C++类成员的。我见过许多这样的代码(包括在你的栏目中也见到过): CSomeClass::CSomeClass() { x=0; y=1; } 而在别的什么地方则写成下面转载 2014-12-07 11:32:55 · 459 阅读 · 0 评论 -
【记录】C++中的static成员
原文地址:http://blog.chinaunix.net/uid-7390305-id-2057255.html使用类的 static 成员的优点:1. static 成员的名字是在类的作用域中,因此可以避免与其他类的成员或全局对象名字冲突.2. 可以实施封装。static 成员可以是私有成员,而全局对象不可以.3. 通过阅读程序容易看出 static 成员是与特定类关联的,可转载 2014-12-07 12:03:38 · 417 阅读 · 0 评论 -
【记录】C++类中的static数据成员,static成员函数
原文地址:http://www.cnblogs.com/gysm/archive/2011/09/16/2179277.htmlC++类中谈到static,我们可以在类中定义static成员,static成员函数!C++primer里面讲过:static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联转载 2014-12-07 12:06:44 · 363 阅读 · 0 评论 -
【知识点】指针做形参
指针做形参#include <stdio.h>#include <stdlib.h>#include <string.h>void GetMemory(char *p){ p = (char*)malloc(100);}int main(){ char *str = NULL; GetMemory(str); strcpy(str, "hello world原创 2015-04-01 22:55:18 · 393 阅读 · 0 评论 -
【知识点】while(1)与for(;;)
for(;;)编译成汇编后是无条件转移,while(1)是要0和1进行一下比较的,所以从这个方向上看for(;;)是要比while(1)快的因为少了一个比较指令,但现在的编译器都是有一定的优化能力的,像while(1)这种会优化成和for(;;)一样的汇编代码。while (1)00D5138E mov eax,1 00D51393 test ea...原创 2015-03-25 16:14:53 · 531 阅读 · 0 评论 -
【记录】递归
通过剖析这个简单的程序,来阐明递归的原理。#include "stdio.h"//recursion functionvoid fun(int i){ if(i>0) { fun(i/2); } printf("%d\n",i);}//main functionint main(){ fun(3);...原创 2014-12-26 19:10:37 · 346 阅读 · 0 评论 -
【记录】LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
这个错误经常出现在跑在Win7 64bit上的VS2010顺便说一句VS2010是没有64bit版本的解决方法(这里以项目Test为例):将Mainfest的值设为No,具体步骤如下:Project -----> Test Properties -----> Mainfest Tools ----->Input and Output -----> Emb原创 2014-12-26 19:00:33 · 672 阅读 · 0 评论 -
【记录】字符串分割(C++)
<span style="font-family:Comic Sans MS;font-size:18px;">char *strtok( char *strToken, const char *strDelimit );char *strtok_s( char *strToken, const char *strDelimit, char **con...原创 2014-09-15 12:06:07 · 1628 阅读 · 0 评论 -
【记录】将combobox设成只读的简单方法
((CEdit*)m_combobox.GetWindow(GW_CHILD))->SetReadOnly(); 解析: CComboBox派生于CWnd,于是可以利用GetWindow(GW_CHILD)获得该Combobox的第一个子窗口。 而CEdit也是派生于CWnd,将得到的字窗口指针强制转化成CEdit*以后,就可以调用其中的SetReadOnly()。 可转载 2014-09-14 14:07:32 · 2165 阅读 · 0 评论 -
【知识点】C语言中对时间的操作
#include <stdio.h>#include <time.h>int main(){ time_t timer = time(NULL); printf("%s",ctime(&timer)); return 0;}原创 2016-05-24 11:52:09 · 1079 阅读 · 0 评论 -
【哲理】空间换时间
时间和空间的关系,是霍金这种智商的人要研究的东西,我们只需要知道,在编程时,空间是可以换时间的,时间也是可以换空间的。李开复在他的自传《世界因你不同》中描述了他小时候在美国学校里的一个故事,老师出了道题:“谁知道1/7等于多少?”小开复马上大声回答:"0.142857,老师和同学们都惊呼开复是个天才,其实事实情况是,开复以前在台湾时就记下了这个答案。这就是一个典型的以空间(存储)换时间的例子。下面原创 2016-05-24 11:47:18 · 2629 阅读 · 1 评论 -
【知识点】浅谈浮点数
一、浮点数在内存中的表示方式在C语言中: 类型 比特(位)数 float 32(4字节) double 64(8字节) 无论是单精度还是双精度在存储中都分为三个部分: 1. 符号位(Sign) : 0代表正,1代表为负 2. 指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储 3. 尾数部分(Mantissa):尾数部分float数据类型在内原创 2016-08-09 16:04:04 · 1378 阅读 · 0 评论 -
【记录】通过IP地址获取局域网中设备的MAC地址——java实现
通过IP获取MAC地址——java实现原创 2016-03-31 15:27:50 · 16989 阅读 · 4 评论 -
【记录】Apache POI - the Java API for Microsoft Documents - 15秒快速入门
15秒快速入门java POI读取excel1、读取一个cell中的内容2、读取一个excel文件中一个sheet的所有内容原创 2016-03-28 14:32:44 · 1413 阅读 · 0 评论 -
【记录】The numbers in computer
一个字节的时候(char)-10的源码:1000 1010-10的补码:1111 0110两个字节的时候(short)-10的源码:1000 0000 0000 1010-10的补码:1111 1111 1111 0110原创 2015-07-30 12:41:18 · 463 阅读 · 0 评论 -
【经典】C语言关于补码的解释及误区
加法器计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行。 即:减去某个数字(或者说加上某个负数)的运算,都应该研究如何用加法来完成。模、补数在日常生活当中,可以看到很多这样的事情: 把某物体左转 90 度,和右转 270 度,在不考虑圈数的条件下,最终的效果是相同的; 把分针倒拨 20 分钟,和正拨 40 分钟,在不考虑时针的条件下,效果也是相同的; 把数字 87,减去转载 2015-07-30 10:55:13 · 676 阅读 · 0 评论 -
【记录】atoi() 与 itoa()函数的内部实现
原文地址:http://blog.csdn.net/hackbuteer1/article/details/6666959C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子: atoi 把字符串转换成整型数 itoa 把一整数转换为字符串[cpp] view p转载 2015-05-15 15:23:01 · 714 阅读 · 0 评论 -
【记录】Unicode Character Set & Multi-Byte Character Set
Multi-Byte Character SetUnicode Character Set原创 2014-09-12 13:13:46 · 652 阅读 · 0 评论 -
【记录】nafxcw.lib和uafxcw.lib的冲突 debug正确而release链接错误
这个问题终于成功解决了,原来是有的使用了unicode,而有的不是,所以在链接的时候发生了错误,把所有的项目的配置 都改为 使用多字节字符集就ok了, uafxcw.lib unicode版本 nafxcw.lib ansi版本 链接器->命令行 加上/force:multiple 这样虽然编译链接可以通过了,但是程序执行的时候出现了错误。 /FORCE:MUL转载 2014-09-12 17:39:56 · 1322 阅读 · 0 评论 -
【记录】int-->CString
int j = 10;CString str;s.Format(_T("%d"), j);MessageBox(str00);原创 2014-09-13 11:27:00 · 358 阅读 · 0 评论 -
浅析数据对齐
数据对齐1、为什么需要数据对齐?最早在8位CPU的时代,是没有数据对齐的需求的。当CPU发展到16位、32位或者64位时代时,才有了数据对齐的需求,因为CPU一次取4个字节的数据(以32位CPU为例),也就是说CPU是这么取数据的:0x00000000 , 0x00000004 , 0x00000008 ,0x0000000C ….如果把 int a = 0x12345678 存储在地址 0x000原创 2017-08-05 19:08:19 · 1041 阅读 · 1 评论