日记本

2013/3/18

                去变量高字节和低字节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)

LPTSTR 与char*等价,LP:长指针(long pointer),T:win32环境中有一个_T宏,用来标识字符是否采用Unicode编码(两字节表示一个字符),若程序中定义了Unicode,该字符/字符串被作为Unicode字符串,否则就是标准的ANSI(单字节表示一个字符)字符串。

2013/3/19

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 以 只读方式打开 文件,该文件必须存在。
r+ 以可读写方式打开 文件,该文件必须存在。
rb+ 读写打开一个 二进制文件,允许读 数据
rw+ 读写打开一个文本 文件,允许读和写。
w 打开只写 文件,若文件存在则文件长度清为0,即该文件内容会消失。若 文件不存在则建立该文件。
w+ 打开可读写 文件,若文件存在则文件长度清为零,即该文件内容会消失。若 文件不存在则建立该文件。
a 以附加的 方式打开只写 文件。若 文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的 文件。若 文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
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是一个参数进栈顺序修饰符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值