CString 字符串提取错误。。求教
for (size_t i=0; i<vecFile.size(); i++)
{
CString strFile = vecFile[i].c_str();
int nPos = strFile.ReverseFind('\\')+1;
CString strFileFolder = strFile.Left(nPos);
strFile.Delete(0, nPos);
CString strDest = strFile;
int nPos2 =3;//获取文件格式
CString strLast = strFile.Right(nPos2);
其中CString strLast = strFile.Right(nPos2);strLast 是错误指针。。strFile="aFileRename.exe"怎么获取文件格式。。字符串最右3个字符会获取不到呢??CString strFileFolder = strFile.Left(nPos);这个执行又没问题。 跪求高手指点我下
[解决办法]
vector<string> vecFile;vecFile.push_back("1212.txt");vecFile.push_back("1212.bak");for (size_t i=0; i<vecFile.size(); i++){string strFile = vecFile[i];size_t dotIndex = strFile.find_last_of('.');string fileType = (dotIndex!=string::npos?strFile.substr(dotIndex+1):string(""));cout << strFile << " Type:" << fileType << endl;}