- 博客(71)
- 收藏
- 关注
原创 decltype
引入decltype是因为auto并不适用于所有的自动类型推导场景,在某些特殊情况下auto用起来很不方便,甚至压根无法使用。decltype是C++11新增的一个关键字,和auto的功能一样,用来在。findMin函数,根据a,b中较小的值推导返回类型。
2023-06-27 17:46:52
191
原创 c++ udp单播,并指定本地发送端口号
初始化SOCKET: //初始化广播Socket WSADATA wsdata; WSAStartup(MAKEWORD(2, 2), &(wsdata)); m_socketHmv = socket(AF_INET, SOCK_DGRAM, 0); if (m_socketHmv != INVALID_SOCKET) { BOOL opt = TRUE; ...
2019-08-15 10:14:48
5540
1
原创 mfc选择文件夹,指定根目录
CString CTestWnd::SelectFolderPath(){ TCHAR szFolderPath[MAX_PATH] = { 0 }; CString strFolderPath = TEXT(""); BROWSEINFO sInfo; ::ZeroMemory(&sInfo, sizeof(BROWSEINF...
2019-08-15 10:07:45
1900
原创 根据SOCKET获取IP和端口号
struct sockaddr addr;struct sockaddr_in* addr_v4;int addr_len = sizeof(addr);//获取local ip and portZeroMemory(&addr, sizeof(addr));if (0 == getsockname(m_socketHmv, &addr, &addr_len...
2019-08-08 09:59:30
6211
原创 udp组播
发送: char group_ip[20]; int group_port = 9535; strcpy(group_ip,"224.1.1.2"); int socket_fd; struct sockaddr_in group_addr; //group address struct sockaddr_in local_addr;/...
2019-08-06 11:23:04
310
原创 udp同一个SOCKET自发自收
.h中的成员变量:int m_nUdpPortHmv;SOCKET m_socketHmv;sockaddr_in m_addrtoHmv;SOCKADDR_IN m_addrfromHmv;.cpp中初始化//初始化广播Socketm_socketHmv = socket(AF_INET, SOCK_DGRAM, 0);if (m_socketHmv !...
2019-08-05 18:53:48
2229
原创 udp地址和端口重复绑定
int const BUFF_LEN = 1024;char receiveBuff[BUFF_LEN] = { 0 };int nDataLen = 0;SOCKADDR_IN addrReceive;addrReceive.sin_family = AF_INET;addrReceive.sin_addr.S_un.S_addr = htonl(INADDR_ANY);a...
2019-08-05 18:46:40
3168
原创 CBitmap输出图片到本地
CImage img;img.Attach(m_Bitmap.operator HBITMAP());img.Save(_T("E:\\1.jpg"));
2019-08-05 10:42:31
797
原创 c++错误码转成汉字描述
我这里转成CString了,其实LPVOID就是得到的描述数据,具体转成什么格式的,看具体需求即可LPVOID lpMsgBuf;FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError...
2019-06-27 09:02:47
503
1
转载 char*转LPCWSTR解决方案
原文连接:https://blog.youkuaiyun.com/zhouxuguang236/article/details/8761497在Windows编程中,经常会碰到字符串之间的转换,char*转LPCWSTR也是其中一个比较常见的转换。下面就列出几种比较常用的转换方法。1、通过MultiByteToWideChar函数转换MultiByteToWideChar函数是将多字...
2019-06-14 18:53:23
3222
原创 mfc获取当前工作路径
TCHAR szFilePath[MAX_PATH];::GetModuleFileName(NULL, szFilePath, MAX_PATH);(_tcsrchr(szFilePath, _T('\\')))[1] = 0;//删除文件名,只获得路径 字串CString str_url = szFilePath; //str_url 中保存的是当前目录...
2019-06-10 17:31:04
1198
转载 _tcschr、_tcsrchr
原文:https://blog.youkuaiyun.com/eickandy/article/details/50083169_tcschr、_tcsrchr好处:是可以不管是用unicode 编码还是其他 ,代码都不用改.C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:1、_tcschr代替strchr或者wcschr函数功能:查找一个字符串中首次出现的...
2019-06-10 17:28:18
450
原创 C++建立 Windows 服务程序
新建控制台程序,不需要界面在stdafx.h中添加MFC支持:#include <afx.h>#include <afxwin.h> // MFC core and standard components#include <afxext.h> // MFC extensions#include <afx...
2019-06-10 17:20:29
945
转载 Windows 下使用PDH 获取CPU 使用率
windows下获取cpu 使用率的方法大概有以下这三种:windows 自带的API ,一般包含在头文件windows.h中Performance Data Helper...
2019-06-10 09:19:48
1049
原创 c++执行批处理文件
#include <iostream>#include <windows.h>using namespace std;int main(){ PROCESS_INFORMATION pi; STARTUPINFO si; ZeroMemory(&si, sizeof(si)); si.cb = sizeof...
2019-06-04 09:19:43
1563
原创 c++本机多网卡时,根据IP获取MAC地址
//获取本机mac地址CString G_GetMacAddress(CString strLocalIp){ PIP_ADAPTER_INFO pAdapterInfo = NULL; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; pAdapterInfo = new IP_ADAPTER_INFO; ULONG u...
2019-05-31 15:51:58
1284
原创 c++ sort排序
在编写项目时,经常要用到排序算法,可以自己写算法,比如冒泡排序,快速排序等,但是可能比较容易出错,其实c++已经自带排序算法函数:sort下面简单说一下sort函数的用法:要sort函数,必须包含头文件:#include <algorithm>举个简单的例子:#include <algorithm>bool Com_n(int& x, in...
2019-05-31 15:27:19
2338
原创 vs2013多项目启动
在用vs调试项目时,需要启动多个项目,是不是都是在项目上右键-》调试-》启动新实例 这么做的呢?是不是很麻烦?其实vs可以设置多个项目一起启动,只要代码编译好,按一下F5即可多个项目一起启动了。怎么样?是不是方便多了。。。。。。...
2019-05-15 14:03:46
758
原创 c++获取电脑mac地址
//获取本机mac地址CString G_GetMacAddress(){ PIP_ADAPTER_INFO pAdapterInfo = NULL; PIP_ADAPTER_INFO pAdapter = NULL; DWORD dwRetVal = 0; pAdapterInfo = new IP_ADAPTER_INFO; ULONG ulOutBufLen = sizeo...
2019-04-29 10:57:12
3700
1
原创 C++枚举局域网电脑IP
void EnumHosts(CStringArray& list){ //先清空列表 list.RemoveAll(); CString strTemp; struct hostent *host; struct in_addr *ptr; // 获得IP地址 DWORD dwScope = RESOURCE_CONTEXT; NETRESOUR...
2019-04-22 10:55:15
862
原创 TrueStudio printf打印浮点数
TrueStudio默认是不能打印浮点数的,需要修改配置,才能打印浮点数:工程->属性:将other options后填写-u printf float
2019-04-17 23:15:12
1706
原创 TrueStudio解决局部变量无法查看值的问题
如果在调试时,打断点之后,发现变量窗口无法查看局部变量的值,如下图所示:可能是因为优化等级太高了,导致计算结果被优化了(自己理解的,如果不对,勿喷,哈哈),将优化等级降低即可。工程->属性将优化等级改为None即可。再进行调试,结果如下:...
2019-04-17 23:10:40
1103
1
原创 c++关机/重启
bool API_ReStartComputer(int nWaitTime /*= 30*/){ USES_CONVERSION; CString strExec; strExec.Format(_T("\"Shutdown\" -r -t %d"), nWaitTime); return ::WinExec(W2A(strExec), 0) > 31;}bool API...
2019-04-17 11:07:43
950
原创 c++魔术包唤醒电脑
bool API_StartComputer(CString strMac){ SOCKET sockClient = socket(AF_INET, SOCK_DGRAM, 0); SOCKADDR_IN addrSrv; addrSrv.sin_family = AF_INET; BOOL bBroadCast = TRUE; USES_CONVERSION; const ...
2019-04-17 11:06:02
2273
原创 mfc从资源加载图片
BOOL ImageFromIDResource(UINT nID, LPCTSTR sTR, Image *&pImg){ HINSTANCE hInst = AfxGetResourceHandle(); HRSRC hRsrc = ::FindResource(hInst, MAKEINTRESOURCE(nID), sTR); // type if (!hRsrc) r...
2019-04-17 10:07:57
1588
原创 获取文件信息的两种方式
第一种:利用CFile与CFileStatus类CFileStatus status;CFile::GetStatus(strFilePath, status);CFileStatus 就是得到的数据结构,数据结构如下:struct CFileStatus{ CTime m_ctime; // creation date/time of file CTime m_...
2019-04-16 10:35:57
515
原创 MFC修改CFileDialog的最大文件选择数量
DWORD nFileNumbers = 500; //CFileDialog最大选择文件数量CString strPath = _T("F:\\迅雷下载\\将夜");CFileDialog dlg(TRUE, _T("*.*"), strPath, OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, g_strFil...
2019-04-16 09:02:32
655
原创 MFC访问共享文件夹
#include "WinNetWK.h"#pragma comment(lib, "Mpr.lib")#pragma comment(lib, "shlwapi.lib")void CPlayerResourceCtnWnd::OnBnClickedBtnUploadFile(){ ////////////////////////////////////////////////////...
2019-04-16 08:59:45
2662
2
转载 VS 项目中查找中文正则表达式
经常有这样的需求:项目代码中有一些输出信息是中文写的,不过现在要做国际化,代码"“中写的中文都要改成英文。这样就需要将代码中包含中文的字符串都找出来。也就是如同 “写到引号中的中文,Yes,is here”。用什么办法能迅速找出这些包含中文的句子呢?今天终于写了这样一个正则表达式,很好用。(”.[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.")直接在VS中用Ctrl...
2019-04-11 10:20:55
2329
1
原创 mfc采用内存映射复制文件
基本数据类:(复制文件过程中用到的基本数据类).h文件:#pragma once//上传/下载信息struct SUpload_DownloadInfo{ SUpload_DownloadInfo(CString strFilePath = _T(""), CString strCenterPath = _T(""), GUID guidDev = GUID_NULL); CStr...
2019-03-28 16:39:40
1279
1
转载 VC下加载JPG/GIF/PNG图片的两种方法
转载自:http://blog.sina.com.cn/s/blog_6582aa410100huil.html仅管VC有提供相应的API和类来操作bmp位图、图标和(增强)元文件,但却不支持jpg、gif和png等格式的图片,而这几种格式却是常常要用到的。这里我给大家介绍两种办法来操作这些格式的图片。1.用API OleLoadPicture来加载JPG、GIF格式的图片(注:不支持PN...
2019-03-22 18:01:50
507
原创 mfc绘制框选边框
CPen penBlack(PS_SOLID, 1, CLR_BK), penWhite(PS_DOT, 1, RGB(255, 255, 255)), *pOldPen;CBrush brush, *pOldBrh;brush.CreateStockObject(NULL_BRUSH);pOldBrh = (CBrush*)pDC->SelectObject(&brush...
2019-03-22 16:22:42
2214
原创 文件夹遍历
void ReadFolder(const CString strFolderPath){ CString strPath = strFolderPath + _T("\\*.*"); CString strFullName; CFileFind finder; BOOL bWorking = finder.FindFile(strPath ); while (bWorking)...
2019-03-19 17:38:08
161
原创 将文件大小转换成合适的KB/MB/GB
CString GetFileSizeString(__int64 nFileSize){ CString strFileSize = _T(""); TCHAR szFileSize[MAX_PATH]; StrFormatByteSize(nFileSize, szFileSize, MAX_PATH); strFileSize.Format(_T("%s"), szFileSi...
2019-03-13 14:27:30
1924
原创 CTime和CString相互转化
CTime转CString:CTime cTime = GetCurrentTime();CString strTemp = _T("");strTemp = tCreate.Format(_T("%Y-%m-%d %H:%M:%S"));CString转CTime:CTime SFileInfo::StringToTime(CString strTime){ COleVarian...
2019-03-11 19:21:03
815
原创 MFC 设置所有控件的字体
void SetChildWndFont(HWND hWndParent, CFont *pFont){ if (!pFont) return; CWnd * pWnd = NULL; pWnd = CWnd::FromHandle(::GetWindow(hWndParent, GW_CHILD)); while(pWnd) { pWnd->SetFont(pFon...
2019-02-28 09:19:22
1141
原创 c++向上取整/向下取整
在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:函数名称 函数说明 floor() 不大于自变量的最大整数 ceil() 不小于自变量的最大整数 round() 四舍五入到最邻近的整数 (1) floor()...
2019-02-26 15:54:06
15834
2
原创 UDP发送与接收
UDP发送://成员变量定义int m_nUdpPort; //自定义SOCKET m_udpSocket;sockaddr_in m_addrto;//初始化广播Socketm_udpSocket = socket(AF_INET, SOCK_DGRAM, 0);if (m_udpSocket != INVALID_SOCKET){ //启动SOCKET库,版本为...
2019-01-02 09:23:02
6079
原创 选择文件夹
函数:BOOL G_SelectFolderPath(CString &amp; strFolderPath, HWND hWnd){ TCHAR szDir[MAX_PATH]; BROWSEINFO bi; ITEMIDLIST *pidl; bi.hwndOwner = hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = ...
2018-12-21 09:28:34
158
原创 CString转char*
函数:BOOL G_StringToASII(CString const &strSrc, BYTE * &pRefStoreBuff, int &nBuffLen, int &nLenResult){ nLenResult = WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, strSrc, -1, NULL, 0...
2018-12-21 09:22:37
5843
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人