-1

我有第一个案例: CString stVal = " dsc | resource.c |* ";

在第二种情况下:

CString stVal = " resource.c |MS";

在这两种情况下,我只想要文件名。

请注意,我使用的是 Visual Studio 6.0。

你有什么想法吗?提前致谢。

4

2 回答 2

1

CString strLine="dsc | resource.c |*";

    char* lpszToToken = stLine.GetBuffer(stLine.GetLength());
    char* lpszToken = strtok(lpszToToken, "|");
    while(lpszToken != NULL)
    {
        lpszToken = strtok(NULL, "|");
        CString str = lpszToken;
        if(str.Find(".") != -1) {
            stLine = str;
            break;
        }
于 2013-06-22T09:08:19.293 回答
0

最近在做MFC实验遇到同样的问题,最后通过下面的代码解决了。

split(CString A) {
    CStringList* returnStringList = new CStringList;
    CString Seperator = L"|";//custom your serperator here
    int position = 0;
    CString token = A.Tokenize(Seperator, position);
    returnStringList->AddTail(token);
    while (!token.IsEmpty()) {
        token = A.Tokenize(Seperator, position);
        returnStringList->AddTail(token);
    }
    return returnStringList;
}
于 2017-10-11T01:21:39.910 回答