mfc编程中trimleft是什么函数?
针对windows平台的CString::TrimLeft(LPCTSTRlpszTargets)函数,在unix平台下自己增加该功能函数,下面是微软提供的TrimLeft函数源码:
C/C++codevoidCString::TrimLeft(LPCTSTRlpszTargets)
{
//ifwe’renottrimminganything,we’renotdoinganywork
if(SafeStrlen(lpszTargets)==0)
return;
CopyBeforeWrite();
LPCTSTRlpsz=m_pchData;
while(*lpsz!=’\0′)
{
if(_tcschr(lpszTargets,*lpsz)==NULL)
break;
lpsz=_tcsinc(lpsz);
}
if(lpsz!=m_pchData)
{
//fixupdataandlength
intnDataLength=GetData()->nDataLength-(lpsz-m_pchData);
memmove(m_pchData,lpsz,(nDataLength+1)*sizeof(TCHAR));
GetData()->nDataLength=nDataLength;
}
}
MFC多线程编程?
多线程与单线程的区别是前者是并行,意思是多个线程同时执行
一个简单的例子,单线程程序,MessageBox弹出一个对话框,你必须要关闭这个对话框后才能在主窗口上继续操作(整个程序停止运行,等待用户关闭这个弹出窗口),多线程就不会阻塞在这里,一般来说,MFC程序操作界面是一个线程,工作计算是另一个线程。