迷惑的一段c++程序

wchar_t szBuf[2001];
wchar_t excl[] = L"Excel";
WORD cbBufMax = 2000;
WORD cbBufOut;
wchar_t *pszBuf = szBuf;
CString sDriver;
// 获取已安装驱动的名称(函数在odbcinst.h里)
if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut))
m_sExcelDriver = L"";
// 检索已安装的驱动是否有Excel...
// AfxMessageBox(CString(pszBuf));
do
{
if(wcsstr(pszBuf, excl) != 0)
{
//发现 !
m_sExcelDriver = CString(pszBuf);
break;
}
wchar_t ze = {'\0'};
pszBuf = wcschr(pszBuf, ze) + 1;
}
while (pszBuf[1] != '\0');在网上着了一段代码 代码用于找到excel数据源 但是我不理解这个循环是如何做的 画红线部分是什么意思?

作者: qq727791967   发布时间: 2011-06-13

wcsstr,找excl在pszBuf中出现的位置,找到则break

作者: bdmh   发布时间: 2011-06-13

关键这两个函数:
wcsstr : 在源字符串中找某个子串的位置
wcschr : 在源字符串中找某个字符的位置
类似的有strstr, strchr

作者: dizuo   发布时间: 2011-06-13

引用 2 楼 dizuo 的回复:

关键这两个函数:
wcsstr : 在源字符串中找某个子串的位置
wcschr : 在源字符串中找某个字符的位置
类似的有strstr, strchr

++
wcs 这个是宽字符版,功能对应str那些

作者: luciferisnotsatan   发布时间: 2011-06-13