- 博客(33)
- 资源 (4)
- 收藏
- 关注
原创 C++基础知识
一、c++运算符和函数功能1:reinterpret_cast强制类型转换符.2:UpdateData是MFC的窗口函数,用来刷新数据。操作系统会调用这个函数初始化对话框中的数据,或者检索或者验证对话框中的数据。UpdateData(TRUE):将控件的值赋值给变量。UpdateData(FALSE):将变量的值赋值给控件。3:EnableWindow(TRUE):窗口允许接收用户的输入。Enab...
2018-05-31 08:49:49 267
原创 C#创建指针并为其分配内存
int* Integral = (int*)Marshal.AllocHGlobal(iWidth * iHeight * 4);C#不支持 :int ai[5]= = {0};int *pi = ai;这类语法
2018-05-31 08:49:36 2144
转载 __declspec用法
格式:__declspec( property( get=get_func_name ) ) declarator__declspec( property( put=put_func_name ) ) declarator__declspec( property( get=get_func_name, put=put_func_name ) ) declarator该属性可用于类或结构定义中的非静...
2018-05-30 11:48:44 201
原创 C动态库的两种编写方式
一、不使用.def模块导出1、新建项目->Win32项目->下一步->应用程序类型:DLL,附加选项:导出符号、预编译头。->完成。2、删除导出变量示例TST_API int nTst=0;导出函数示例TST_API int fnTst(void){ return 42;}导出类的构造函数CTst::CTst(){ return;}3、参照导出函数示例,编写自己的函数接口。...
2018-05-30 11:47:53 1720
原创 动态库的两种调用方式
一、静态调用1、添加动态库函数声明头文件2、在.h文件中添加如下语句#pragma comment(lib, ".\\****.lib").\\****.lib为动态库的绝对路径。就可以调用动态库中的函数了。二、动态调用1、定义一个与动态库函数接受参数类型和返回值均相同的函数指针类型。typedef int (* lpAddFun)(int ,int);lpAddFun addFun;2、HINS...
2018-05-30 11:45:29 13230
原创 列表框列表空滚动条自动下滑
列表框增加信息后添加如下代码:SendMessage(m_ListBoxNotes.m_hWnd,WM_VSCROLL,MAKEWPARAM(SB_BOTTOM,0),NULL);其中m_ListBoxNotes为控件控制型变量
2018-05-30 11:43:00 2383
转载 判断文件是否存在、获取文件大小
一、 判断文件是存在GetFileAttributes( m_Output) == -1 //判断文件是否存在若不存在返回-1返回字段返回值属性类型FILE_ATTRIBUTE_READONLY1只读FILE_ATTRIBUTE_HIDDEN2隐藏FILE_ATTRIBUTE_SYSTEM4系统FILE_ATTRIBUTE_DIRECTORY16目录FILE_ATTRIBUTE_ARCHIVE32...
2018-05-30 11:41:27 2451
原创 C++程序中添加.c.h的方法
方法一、1、把要添加的.c和.h文件复制到c++程序目录中。2、把.c文件改为.cpp文件3、把.c.h文件都添加到该项目中 就可以使用了方法二、1、项目配置不使用预编译头2、.c文件加载到程序需中3、把c语言函数的声明用extern "C"{};中。现在最好的写法是://test.h#ifdef __cplusplusextern "C" {#endif//c语言函数声明写在这#ifdef __...
2018-05-30 11:40:31 6529
转载 读写文件时遇到0D、0A、00问题
是写入\n则在\n前边自动添加\r。若是以字符串的形式写入数据(如puts函数)则在字符串中不能有\0不然\0之后的内容将无法写入。问题:1、如何让系统不自动添加\r\n?在打开文件时打开方式中添加‘b’这样系统就会以二进制的形式打开文件之后再读写时,系统将不会自动补\r\n。2、如何向文件中写入\0? 使用单个字符写入的形式可以将\0写入文件(fputc使用过可行)...
2018-05-30 11:38:50 11943
转载 修改对话框的背景色
1、重载类的WM_CTLCOLOR消息会出现OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor)函数2、修改函数代码为如下代码HBRUSH hbr = CreateSolidBrush(RGB(255,255,255)); if ( nCtlColor ==CTLCOLOR_DLG) { pDC->SetBkMode(TRANSPARENT);...
2018-05-30 11:37:22 1548
转载 MFC退出程序方法
对话框用 CDialog::OnOk(); Doc/View用 OnClose();2、PostQuitMessage(0);//最常用 PostMessage(WM_QUIT,0,0);//最常用 ::SendMessage(AfxGetMainWnd()->m_hWnd,WM_CLOSE,0,0);//最常用 ::PostMessage(AfxG...
2018-05-30 11:36:37 1797
转载 解决ESC和回车键默认关闭窗口的一般办法
在一般情况下编写的对话框程序,用户在运行的时候,如果不注意按下了ENTER或者ESC键,程序就会立刻退出,之所以会这样,是因为按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线矩形包围。如果所有按钮都没有获得输入焦点,Windows 就会自动去寻找程序或资源所指定的默认按钮(默认按钮边框较粗)。如果对话框没有默认按钮,那么即使对话框中没有OK按...
2018-05-30 11:35:41 5293
原创 UNICODE格式下CString输出乱码
m_clistboxShow为列表框控件CListBox型变量。以该种方式输出则会出现乱码现象CString cstrShow;char sShow[16] = "123";cstrShow.Format(_T("%s"),sShow);m_clistboxShow.AddString(cstrShow);需要修改为CString cstrShow;char sShow[16] = "123";c...
2018-05-29 15:52:17 2202 1
原创 gSoap的“error LNK2001: 无法解析的外部符号 _namespaces”解决方法
在stdafx.cpp中添加gsoap生成的.nsmap头文件。例如:#include "soap/Service1Soap.nsmap"
2018-05-23 08:50:58 1578
原创 编写动态库时:出现:error LNK2005: _DllMain@12 已经在 *****.obj 中定义 错误
解决方法:项目 -- 属性 -- c/c++ -- 预处理器 -- 将预处理定义中的_USRDLL 删除即可
2018-05-23 08:50:48 4601
原创 16进制数组和ASK码字符之间的转换
BIN 16进制数组HEX ASK码字符串#define PCD_NO_ERROR 0 // 操作成功执行int HexToBin(unsigned char *shex,unsigned char *sbin,int shex_len){ int i; const char *p = NULL; unsigned char tmpHex[3]; int r...
2018-05-23 08:50:39 4557
原创 CreateThread的使用教程
CreateThread:创建多线程1。在类中声明静态成员函数(假设在类A中)//函数名可变其他不可变static DWORD ReadProc(LPARAM lParam); 2。在某一个函数中开线程HANDLE hdFile; hdFile = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ReadProc,this,0,NULL);3。实现线程DWO...
2018-05-23 08:50:32 1722
原创 读写配置文件教程
配置文件名为:Config.ini配置文件格式为:[CONFIG]ServerIp = "192.168.1.1"读配置文件TCHAR tsPath[128] = ""; char sRecvIp[32] = ""; CString strPash; ::GetCurrentDirectory(128,tsPath); strcat(tsPath,"\\Config.ini"); if(GetFi...
2018-05-23 08:50:24 290
原创 对话框最大时程序也最大化方法
一、在.h文件中定义如下变量void ReSize(); POINT old; 二、在OnInitDialog中计算出原始对话框大小CRect rect; GetClientRect(&rect); //取客户区大小 old.x=rect.right-rect.left; old.y=rect.bottom-rect.top; 三、添加WM_SIZE消息并修...
2018-05-23 08:49:56 473
原创 STL之map
map的基本操作函数: C++ maps是一种关联式容器,包含“关键字/值”对 begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末...
2018-05-23 08:49:43 129
原创 读取注册表中的串口号教程
HKEY hKey; LPCTSTR str = _T("HARDWARE\\DEVICEMAP\\SERIALCOMM\\"); int ret = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,str,0,KEY_READ,&hKey); //打开注册表 if (ret!=ERROR_SUCCESS) return; DWORD dwIndex = 0...
2018-05-23 08:48:55 2626
原创 c++使用HTTP网络通信教程
#include "HttpClient.h"CString strResultStr; CInternetSession session; CHttpConnection *pConnection; CHttpFile *pFile; BOOL retFlag; //与服务器建立连接 INTERNET_PORT nPort = 8080; pConne...
2018-05-23 08:48:43 5472
转载 error LNK2005解决方法
错误:1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operato...
2018-05-22 14:51:51 6698 9
转载 STL之pair
1 pair的应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。2 make_pair函数temp...
2018-05-22 14:50:40 113
转载 STL算法
一、std::find原型:#include<algorithm>template<class ImputIterator, class T>InputIterator find(InputIterator first, InputIterator last, const T& Value);参数:first 左区间last 右区间Value 值功能:本算法的功...
2018-05-22 14:50:08 104
原创 STL之List
vector :vector和built-in数组类似,拥有一段连续的内存空间,能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当插入较多的元素后,预留内存空间可能不够,需要重新申请一块足够大的内存并把原来的数据拷贝到新的内存空间。这些影响了vector的效率,但是实际上用的最多的还是vector容器,建议大多数时候使用vecto...
2018-05-22 14:49:16 111
原创 STL之Vector
vector :vector和built-in数组类似,拥有一段连续的内存空间,能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当插入较多的元素后,预留内存空间可能不够,需要重新申请一块足够大的内存并把原来的数据拷贝到新的内存空间。这些影响了vector的效率,但是实际上用的最多的还是vector容器,建议大多数时候使用vecto...
2018-05-22 14:48:36 84
转载 CString转char*
1、多字符集下转换CString cstr;char *p =(LPSTR)(LPCTSTR)cstr;注意:次方法只能转换成char*不能转换成char[]数组2、宽字符集下转换int len =WideCharToMultiByte(CP_ACP,0,m_WriteFilePath,-1,NULL,0,NULL,NULL); cha...
2018-05-22 14:46:05 202
原创 c++调用第三方静态库教程
1、编译文件生成静态库。2、把相关的.h文件放入D:\VS2005安装目录\VC\include路径下。3、把相应的.lib文件放在D:\VS2005安装目录\VC\lib路径下。 4、包含头文件-调用。...
2018-05-22 14:42:08 2179
原创 c++Gsoap使用教程
一、下载最新gsoap包,下载完成解压就可以了。二、把Wsdl2h.exe的目录设置成环境变量。三、生成头文件wsdl2h -o xxx.h url(xxx.h为自己定义 的头文件名称,url为需要访问的webservice地址+?wsdl例如:http://localhost:2063/Service1.asmx?wsdl)。注:执行此步骤时若输入url生成的头文件为空时,可以用webserv...
2018-05-22 14:38:43 5490 1
原创 String类函数成员
整理一下string类使用时需要包含头文件#include<string>使用std命名空间using std::stringusing std::wstring或者using namespace std;string常用方法1)构造函数string str1 = "hello"; string* str2 = new string(...
2018-05-22 14:36:46 4361
转载 c++读取CPU序列号
注:亲测CPU序列号有重复的一命令行方式、打开命令提示符界面(cmd)输入wmic CPU get ProcessorID即可得到CPU序列号二代码、#include <iostream>#include <intrin.h>#include <string>using namespace std;void getcpuid(unsigned int CPUIn...
2018-05-22 14:34:58 11434 1
Android平台使用的FFmpeg静态库版本4.4.2。支持RTP拉流
2022-08-02
c++使用json教程
2019-07-09
毕业设计项目 - 成绩管理(对文件的增删改查操作).zip
2019-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人