C
keebai
记录一下
展开
-
字符串常量与字符数组
字符数组char arr[]="hello"; 等同于 char arr[]={'h','e','l','l','o','\0'} strlen(arr)=5 sizeof(str)=6字符串常量char *parr="hello" strlen(arr)=5 sizeof(str)=5字符串常量与函数原创 2014-01-27 23:33:26 · 712 阅读 · 0 评论 -
STL 之 Set容器 修改容器中的元素
class person{public: int age; std::string name; person(int a, std::string s):age(a),name(s){ } person(const person& info) { age = info.age; nam...原创 2019-01-07 22:45:13 · 1843 阅读 · 0 评论 -
fatal error LNK1169: one or more multiply defined symbols found终极解决
先是源文件代码(为方便实验找出问题而简化的相关代码):main.c01 #include 02 #include "msgqueue.h"03 #pragma comment(linker, "/subsystem:windows /RELEASE ")04 05 extern QUEUE_INSTANCE Queue_Instance; //关键语句A06转载 2016-08-12 14:48:10 · 17012 阅读 · 0 评论 -
Win32 SDK中窗口全屏处理
首先是考虑全屏处理的时机,是在创建窗口时还是显示窗口时进行,若是前者,则可以:BOOL InitInstance(HINSTANCE hInstance, int nCmdShow){ HWND hWnd; hInst = hInstance; // 将实例句柄存储在全局变量中 UINT width = GetSystemMetrics(SM_CXSC转载 2016-07-15 11:27:58 · 475 阅读 · 0 评论 -
Ascii、 unicode、 utf-8 互转(WideCharToMultiByte和MultiByteToWideChar函数的用法)
为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和C转载 2016-01-09 16:49:00 · 2912 阅读 · 0 评论 -
Win32程序中使用 Combo box控件
SendMessage函数向窗口发送消息LRESULT SendMessage( HWND hWnd, // handle to destination window UINT Msg, // message WPARAM wParam, // first message parameter LPARAM lParam // s原创 2014-11-26 21:02:09 · 2918 阅读 · 0 评论 -
__I、 __O 、__IO
__I、 __O 、__IO是什么意思?这是ST库里面的宏定义,定义如下:#define __I volatile const /*!#define __O volatile /*!#define __IO volatile /*!转载 2014-10-05 15:48:34 · 1032 阅读 · 0 评论 -
static和extern 的区别
一些基本概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常的理解编译与连接的区别!转载 2014-10-05 15:44:39 · 474 阅读 · 0 评论 -
c++中类和结构体的区别
在c++中,类与结构体的唯一区别原创 2014-06-25 22:25:53 · 805 阅读 · 0 评论 -
程序员永远的痛之字符编码的奥秘
字 符编码相信是每个程序员的噩梦,只要是有中文的地方,总是会遇到各种编码的问题,并且这种问题还非常难缠,尤其在linux上,因为上面很多软件都是针对 英语国家开发的,是不会考虑其他语种编码问题。在遇到编码的无数大坑之后,我决定仔细研究下编码问题,因为这就像一道坎一直横在你面前,每次到这里你都会 跌到,每次爬起来之后,你都若无其事,这样的人被称作战士,真正的战士。可惜是个力量战士,做为新时代转载 2014-05-20 23:24:13 · 779 阅读 · 0 评论 -
C/C++浮点数在内存中的存储方式
任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中,存放方式为 10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式。但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所制定的标准浮点格式,即二进制科转载 2014-04-12 20:15:50 · 559 阅读 · 0 评论 -
malloc free
char* psize=malloc(sizeof(char)*100)返回的可用空间不止100个字节,这是因为分配的内存块前面有4 或8个字节用来存储分配的内在空间的信息。所以,如果假设前30个字节有效,释放后70个字节时, free(psize +30)这样的写法是错误的,因为首地址p后移30字节后,还是去读紧邻羞的前面的4或8个字节来确定后面的内存信息。而 cha原创 2014-05-11 12:19:31 · 721 阅读 · 0 评论 -
static private
C 中的static 不允许从当前文件外访问该变量左函数 类似 于c++中的privaterelloc 返回的地址 1 如果空间足够 在原有的地址上直接分配,返回的地址和原有的起始地址一样 2 如果空间不足,则重新分配指定大小的内存,并将现有的元素拷贝过去,返回的地址是新原创 2014-04-20 16:42:29 · 607 阅读 · 0 评论 -
位模式
struct pp{ int num; int denum;};int main(){pp p;p.denum =22;p.num =654;pp tp=*(pp*)&p.denum ;printf("%d\n", tp.denum );}原创 2014-04-13 15:57:39 · 959 阅读 · 0 评论 -
vc 调用matlab
转https://www.cnblogs.com/renhang888/archive/2012/05/29/2524779.htmlhttps://www.cnblogs.com/nktblog/archive/2012/04/07/2435624.html转载 2019-09-03 14:41:24 · 227 阅读 · 0 评论