去变量高字节和低字节LOWORD(变量),HIWORD(变量);
char 字符
char* 字符串 | 字符指针
C风格字符串以' \0' 结尾 ps: ' \0' == 0 == NULL
void *memcpy(void *dest, const void *src, size_t n);功能 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地...
extern unsigned int strlen(char *s)strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(返回的长度不包括NULL)
2013/3/19LPTSTR 与char*等价,LP:长指针(long pointer),T:win32环境中有一个_T宏,用来标识字符是否采用Unicode编码(两字节表示一个字符),若程序中定义了Unicode,该字符/字符串被作为Unicode字符串,否则就是标准的ANSI(单字节表示一个字符)字符串。
char *s = "..."
这么写的话, "..."在内存中占了一块, s指向这一块.
char s[] = "..."
这么写是s指向内存中的一块能存下"..."的地址
strlen 所获取的字符创长度是不包括最后的 '0' ,所以一定要自己+1;
unsigned int 非负的
void *memset(void *s,int ch, size_t n); //将 s 中前 n 个字节用 ch 替换并返回 s
sizeof对数组只有在数组定义的那个作用域有效
其他时候都是char 的大小
注意赋值内存后 字符串后面的 '0' !!!!char *q 是能够用下标访问的!
memcpy 灵活运用!!!!!对内存的起始地址和结束地址取决于你
char * strchr (const char *s,char c);
功能:查找字符串s中首次出现字符c的位置
今天看到别人总结的书籍:入门:Effective , c++必知必会语言技巧:more Effective , c 和指针 ,底层硬件: C专家编程 , c++标准程式库 , 泛型编程与STL,STL源码剖析,超越C++标准库Boost库导论,设计模式,设计模式精解,面对对象实践指南,编程珠玑软件设计:windows程序设计,Visual C++ 技术内幕,深入浅出MDC第二版,windows via C/C++
推荐的电影:1.《黑客帝国》三部曲,关键词:矩阵;2.《盗梦空间 》,关键词:虚拟化;3.《云图》,关键词:并行;4.《恐怖游轮》,关键词:递归;5.《源代码》,关键词:重入;6. 《二维世界》,关键词:二维
2013/3/20
string 的函数 append 在末尾添加文本,s.append("\r\n")
注意\r\n , \符号是这一边的, 就可以换行
2013/3/21
兴奋,终于把在路由器中的服务器弄好了,顺便还学习了获取网页源码,
用花生壳搭建免费域名,在路由器哦中绑定IP地址,服务端填写自己内网IP,客户端用我的域名,
gethostbyname("xueyou2000.vicp.cc") 获取域名的IP地址,返回hostent *;
将hostent * 的inet_ntoa(*((struct in_addr *)test->h_addr)) 这里的test就是hostent*类型,这样就取出文本格式的IP地址了
s_addr = inet_addr(inet_ntoa(*((struct in_addr *)test->h_addr)))
2013/3/22
C++之所以使用<< 作为输入输出流的操作符是因为:取代了函数方式,简化代码,<<的优先级比较低,因此出现算术表达式的时候不需要加括号
对文件指针的操作 FILE* ;FILE * fopen(const char * path,const char * mode);如果文件打开失败则返回NULL
mode有下列几种形态字符串:r+ 以可读写方式打开 文件,该文件必须存在。rw+ 读写打开一个文本 文件,允许读和写。wb 只写打开或新建一个 二进制文件;只允许写数据。wb+ 读写打开或建立一个 二进制文件,允许读和写。ab+ 读写打开一个 二进制文件,允许读或在文件末追加数据。在文件操作时,需要注意以下几点问题1、在定义文件指针时,要将文件指针指向空;如 FILE *fp = NULL;2、文件操作完成后,需要将文件关闭,一定要注意,否则会造成文件所占用内存泄露和在下次访问文件时出现问题。3、文件关闭后,需要将文件指针指向空,这样做会防止出现游离指针,而对整个工程造成不必要的麻烦;如:fp = NULL;
读文件size_t fread(void *buffer, size_t size, size_t count, FILE *stream);
从一个文件流中读数据,读取count个元素,每个元素size字节.如果调用成功返回count.返回实际读取size*count字节.如不成功,返回实际读取的元素个数,
写文件size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); 返回实际写入的数据块数目
buffer:是一个指针,对fwrite来说,是要输出数据的地址;
定位文件指针int fseek(FILE *stream, long offset, int fromwhere);
函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。 成功返回0失败-1
读取当前指针long ftell(FILE *stream);
返回当前指针的位置
关闭文件 fclose(文件指针);
在操作文件时候,打开方式一定注意,写入方式必须与打开方式一致;
2013/4/18
脉冲是相对于连续信号在整个信号周期内短时间发生的信号,大部分信号周期内没有信号。就象人的脉搏一样。现在一般指数字信号,它已经是一个周期内有一半时间有信号。计算机内的信号就是脉冲信号,又叫数字信号。
电压或电流的波形象心电图上的脉搏跳动的波形 但现在听到的什么电源脉冲、声脉冲……又作何解释呢——脉冲的原意被延伸出来得: 隔一段相同的时间发出的波等机械形式,学术上把脉冲定义为:在短时间内突变,随后又迅速返回其初始值的物理量。
2006年Inter宣布Tick-Tock(工艺年-构架年)是英特尔的芯片技术发展的战略模式,,Tick-Tock模式就是每隔两年就会推出新的制程技术,然后隔年推出新的微构架,如英特尔在2005年推出65nm工艺酷睿处理器以及酷睿微构架,2007年推出的45nm工艺Penryn处理器以及2008年Nehalem微构架,以及在2009年推出的32nm工艺Westmere处理器和2010年Sandy Bridge微构架,都是符合Tick-Tock研发模式。Tick-Tock研发模式将处理器技术不断推向新的高度,也是英特尔保持活力和市场占有率的重要战略。
WINAPI是一个参数进栈顺序修饰符