C++
Ambition_ZB
c++编程,windows编程
展开
-
c++ float截取位数
#include <iostream>#include <sstream>#include <iomanip>using namespace std; //fValue:需要截取的数据//bits:位数float CVedioPlayControl::Round(float fValue, int bits){ stringstr...原创 2018-07-23 15:53:41 · 4185 阅读 · 3 评论 -
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 · 1235 阅读 · 0 评论 -
char*转LPCWSTR解决方案
原文连接:https://blog.csdn.net/zhouxuguang236/article/details/8761497在Windows编程中,经常会碰到字符串之间的转换,char*转LPCWSTR也是其中一个比较常见的转换。下面就列出几种比较常用的转换方法。1、通过MultiByteToWideChar函数转换MultiByteToWideChar函数是将多字...转载 2019-06-14 18:53:23 · 3192 阅读 · 0 评论 -
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 · 1517 阅读 · 0 评论 -
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 · 873 阅读 · 0 评论 -
_tcschr、_tcsrchr
原文:https://blog.csdn.net/eickandy/article/details/50083169_tcschr、_tcsrchr好处:是可以不管是用unicode 编码还是其他 ,代码都不用改.C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:1、_tcschr代替strchr或者wcschr函数功能:查找一个字符串中首次出现的...转载 2019-06-10 17:28:18 · 405 阅读 · 0 评论 -
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 · 469 阅读 · 1 评论 -
根据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 · 5966 阅读 · 0 评论 -
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 · 3052 阅读 · 0 评论 -
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 · 2073 阅读 · 0 评论 -
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 · 229 阅读 · 0 评论 -
c++ sort排序
在编写项目时,经常要用到排序算法,可以自己写算法,比如冒泡排序,快速排序等,但是可能比较容易出错,其实c++已经自带排序算法函数:sort下面简单说一下sort函数的用法:要sort函数,必须包含头文件:#include <algorithm>举个简单的例子:#include <algorithm>bool Com_n(int& x, in...原创 2019-05-31 15:27:19 · 2291 阅读 · 0 评论 -
vs2013多项目启动
在用vs调试项目时,需要启动多个项目,是不是都是在项目上右键-》调试-》启动新实例 这么做的呢?是不是很麻烦?其实vs可以设置多个项目一起启动,只要代码编译好,按一下F5即可多个项目一起启动了。怎么样?是不是方便多了。。。。。。...原创 2019-05-15 14:03:46 · 712 阅读 · 0 评论 -
线性插值、Sin插值、震荡插值
线性插值:根据开始时间、结束时间和当前时间,线性的计算开始值、结束值之间的一个数/**fStart:开始值*fEnd:结束值*dwStart:开始时间*dwEnd:结束时间*dwTemp:当前时间*///参数采用引用了,可以不用引用float CTouchControlFreeRotation::LinearInterpolation(float& fStart, f...原创 2018-07-23 17:15:29 · 3575 阅读 · 0 评论 -
timeSetEvent定时器使用
开启定时器:UINT m_hTimer;//PaintCallBack为回调函数m_hTimer = timeSetEvent(40, 1, PaintCallBack, (DWORD_PTR)this, TIME_PERIODIC);//PaintCallBack函数实现VOID CALLBACK PaintCallBack(UINT uTimerID, UINT uMsg, ...原创 2018-08-23 10:41:23 · 2507 阅读 · 0 评论 -
CreateTimerQueueTimer定时器使用
开启定时器:HANDLE m_hTimerQueue;HANDLE m_hTimerQueueTimer;void CIDPEventCtrl::StartTimer(){ if (m_hTimerQueue == NULL && m_hTimerQueueTimer == NULL) { m_hTimerQueue = CreateTimerQueue...原创 2018-08-23 10:52:28 · 8999 阅读 · 1 评论 -
c++ 写dump文件
//必不可少的头文件和lib库文件#include "dbghelp.h"#pragma comment(lib,"dbghelp.lib")//异常捕获函数LONG WINAPI UnhandledExceptionFunction(struct _EXCEPTION_POINTERS* pExceptionInfo){ CTime timeCur = CTime::GetCu...原创 2018-09-03 11:45:31 · 1258 阅读 · 0 评论 -
c++向上取整/向下取整
在C++的头文件中有floor()和ceil()函数。在STL中还有round()函数。这三个函数的作用如下:函数名称 函数说明 floor() 不大于自变量的最大整数 ceil() 不小于自变量的最大整数 round() 四舍五入到最邻近的整数 (1) floor()...原创 2019-02-26 15:54:06 · 15686 阅读 · 2 评论 -
VS 项目中查找中文正则表达式
经常有这样的需求:项目代码中有一些输出信息是中文写的,不过现在要做国际化,代码"“中写的中文都要改成英文。这样就需要将代码中包含中文的字符串都找出来。也就是如同 “写到引号中的中文,Yes,is here”。用什么办法能迅速找出这些包含中文的句子呢?今天终于写了这样一个正则表达式,很好用。(”.[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.")直接在VS中用Ctrl...转载 2019-04-11 10:20:55 · 2264 阅读 · 1 评论 -
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 · 2180 阅读 · 0 评论 -
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 · 897 阅读 · 0 评论 -
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 · 805 阅读 · 0 评论 -
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 · 3636 阅读 · 1 评论 -
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 · 5311 阅读 · 1 评论