![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
沐白001
c,c++,c#,java 全职菜鸟
展开
-
VC/MFC 文件选择和文件夹选择,代码片段
1、批量选择文件[cpp] view plain copy// 批量添加文件列表 void AddFile() { CString szFileName; CString szCount; POSITION pos; int i; int nCount=0; //文件数量 //输入文件...转载 2018-04-03 14:23:01 · 769 阅读 · 0 评论 -
MFC:UNICODE下CString与char* ,string类型
小菜初用MFC,就被MFC中各种类型相互转换给难住了,查了网上的一些资料,现总结如下:Unicode下 CString 转换为 string 类型:CString s1=L"hello";string s2=CT2A(s1.GetBuffer());//方法一 string s2( CW2A( s1.GetString() ) ); //方法二 CT2CA pszName(s1); stri...转载 2018-04-17 08:53:50 · 371 阅读 · 0 评论 -
MFC线程(一):简单介绍
线程简介我们知道一般情况程序中的代码都是按顺序从头开始一行一行的执行以最后.中间不能出现同时执行的情况.比如一段代码调用两个函数FunOne();FunTwo();只要当函数FunOne中的代码执行完才返回来执行FunTwo.假如逻辑上是有先后顺序那还真只能这样按顺序执行下来.不过有假如FunOne与FunTwo没有逻辑先后顺序,是相互独立的.比如两个函数分别处理两不同的文件one....转载 2019-01-02 16:46:34 · 9350 阅读 · 0 评论 -
MFC线程(二):线程同步临界区CRITICAL SECTION
当多个线程同时使用相同的资源时,由于是并发执行,不能保证先后顺序.所以假如时一个公共变量被几个线程同时使用会造成该变量值的混乱.下面来举个简单例子.假如有一个字符数组变量char g_charArray[4];CString szResult;AfxBeginThread(FunOne,NULL); //FunOne给数组赋值全为SAfxBeginThread(FunTw...转载 2019-01-02 16:47:35 · 841 阅读 · 0 评论 -
MFC线程(三):线程同步事件(event)与互斥(mutex)
前面讲了临界区可以用来达到线程同步.而事件(event)与互斥(mutex)也同样可以做到. Win32 API中的线程事件HANDLE hEvent = NULL; void MainTestFun{hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);SetEvent(hEvent); char g_charArray[4];...转载 2019-01-02 16:48:37 · 1093 阅读 · 0 评论 -
MFC线程(四):线程同步信号量(semaphore)
前面讲的三种保持线程同步的方法是临界区,事件,互斥.它们都有点类似,就是确保一次只有一个线程访问资源,独占一个资源.而信号量就与它们不同,它是可以让很多线程同时访问一个资源,但是限制一次同时访问的数量.这样的资源一般是只读,所以不会造成资源的混乱.最简单的例子就是数据库中表的读操作,可以多个线程同时去读.而写可不行(只能一次让一个去写).在这Server的编程中蛮有用,限制同时访问serv...转载 2019-01-02 16:49:32 · 1498 阅读 · 0 评论 -
[WinAPI] 串口读写
#include <stdio.h>#include <stdlib.h>#include <windows.h>HANDLE hComm;OVERLAPPED m_ov;COMSTAT comstat;DWORD m_dwCommEvents;//如果在调用CreateFile创建句柄时指//定了FILE_FLAG_OVERLAPPE...转载 2019-07-02 17:09:39 · 440 阅读 · 0 评论