C++
青松0527
这个作者很懒,什么都没留下…
展开
-
用c99 写的简单线程池类
c99 线程池原创 2023-04-18 09:30:26 · 170 阅读 · 0 评论 -
取指定数值的地址 (int 转 void *)
Error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]原创 2023-02-25 11:23:41 · 1320 阅读 · 0 评论 -
C++ 创建GUID 生成唯一编号
char* CreateGUID(char *buf, int len){ GUID guid; if (CoCreateGuid(&guid)) { fprintf(stderr, "create guid error\n"); return nullptr; } _snprintf(buf, len, "%08X-%04X-%04x-%02X%02X-%02X%02X%02X...原创 2020-05-25 09:08:03 · 887 阅读 · 0 评论 -
wchar_t*和string相互转换 unicode 转utf8
在window环境中,可以利用MultiByteToWideChar();WideCharToMultiByte();单字节字符串string转双字节字符串wchar_t*//不要忘记在使用完wchar_t*后delete[]释放内存wchar_t *multiByteToWideChar(const string& pKey){ const char* pCStrKey = pKey.c_str(); //第一次调用返回转换后的字符串长度,用于确认为wchar_t*开辟原创 2020-05-15 15:22:47 · 990 阅读 · 0 评论 -
CreateProcess执行控制台程序,并获取输出
void StartProcess(LPCWSTR program, LPCWSTR args){ const int MY_PIPE_BUFFER_SIZE = 1024; //初始化管道 HANDLE hPipeRead; HANDLE hPipeWrite; SECURITY_ATTRIBUTES saOutPipe; ::ZeroMemory(&saOutPipe, sizeof(saOutPipe)); saOutPipe.nLength = sizeof(SECURIT.原创 2020-05-15 15:15:49 · 2739 阅读 · 0 评论 -
C++ Unicode 转Utf-8
wchar_t* wszString = L"男性"; //预转换,得到所需空间的大小,这次用的函数和上面名字相反 int u8Len = ::WideCharToMultiByte(CP_UTF8, NULL, wszString, wcslen(wszString), NULL, 0, NULL, NULL); //同上,分配空间要给'\0'留个空间 /...原创 2020-04-27 09:02:01 · 1597 阅读 · 0 评论 -
线程的优先级
线程的优先级 每个线程都有一个“优先级”,范围是0~31,0为最低优先级,31为最高优先级。当系统决定哪个线程需要调度的时候,首先查看是否存在优先级为31的可调度线程,如果存在,就从中选择一个进行调度。当该线程的时间片到达之后,系统查看是否存在另一个优先级为31的可调度线程,如果存在,就调度它。 只要有一个可调度的优先级为31的线程存在,那么系统绝对不会调度优先级为0~转载 2018-01-09 09:44:23 · 742 阅读 · 0 评论