C#是我的主要语言,趁着学习3dsmaxSDK学习一下c++。
一、.和::和:和->的区别
1、A.B则A为对象或者结构体;
2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;
3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;
4、:一般用来表示继承;
二、wchar_t
参考:https://blog.csdn.net/doutd_y/article/details/81745901
wchar_t 是C/C++的字符类型,一种扩展的存储方式,主要用在国际化程序的实现中。
char是8位字符类型,最多能包含256种字符,许多的外文字符集所包含的字符数目超过256个,char型不能表示。
比如对于汉字,韩文以及日文这样的字符,它们的每一个文字都占据两个字节,所以C++提出了wchar_t类型,也称为双字节类型,或宽字符类型。
和string类型之间的转换
string str("你好中国");
wchar_t * wc = new wchar_t[str.size()];
swprintf(wc,100,L"%S",str.c_str()); //注意大写
//wc指向的内存区域存储这wchar_t类型的 ”你好中国“。
和char*之间的转换 参考:https://blog.csdn.net/weixin_30483495/article/details/97201654
char2wchar
char *CStr = "string to convert";
size_t len = strlen(CStr) + 1;
size_t converted = 0;
wchar_t *WStr;
WStr=(wchar_t*)malloc(len*sizeof(wchar_t));
mbstowcs_s(&converted, WStr, len, CStr, _TRUNCATE);
wchar2char
wchar_t *WStr = L"string to convert";
size_t len = wcslen(WStr) + 1;
size_t converted = 0;
char *CStr;
CStr=(char*)malloc(len*sizeof(char));
wcstombs_s(&converted, CStr, len, WStr, _TRUNCATE);
三、string
参考:http://c.biancheng.net/view/400.html
四、显示时间
time_t tt = time(NULL);
tm* t = localtime(&tt);
char buffer[100];
int cx = snprintf(buffer, 100, "%d-%02d-%02d %02d:%02d:%02d\n", t->tm_year + 1900,
t->tm_mon + 1,
t->tm_mday,
t->tm_hour,
t->tm_min,
t->tm_sec);
五、类库引用
1.创建控制台引用程序
2.配置类型为静态库
3.添加项目引用
4.include 头文件
用相对路径 #include "../CommonLib/charConvert.h";
5.使用使用文件中的函数
动态库(dll)不知道怎样用,改成动态库,他还是去找静态库...