从文本文件中提取单词,前面有分隔符或空格

时间:2014-01-12 18:59:08

标签: c++ file file-io words

try
{
    CStdioFile file(_T("D:\\thedirectory\\1.txt"), CFile::modeRead);
    CString str,mainstr = _T("");

    while(file.ReadString(str))
    {
        mainstr += str;
        mainstr += _T("\r\n");
    }

    CWnd *editwindow = this->GetDlgItem(IDC_EDIT2);
    editwindow->SetWindowText(mainstr);

}
catch(CException* e)
{
    MessageBox(_T("no such file"));
    e->Delete();

}

我已设法读取.txt文件,然后使用内容更新编辑控件框。效果很好,但现在我只想从txt文件中分别提取第2,第3,第4,第5个单词。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

类似的东西:

int i = 0;

while(file.ReadString(str))
{   
    i++;
    if (i == 1) {
        mainstr += str;
        mainstr += _T("\r\n");
    }
}

可能是开始尝试的好地方。初始化,初始化变量的放置等等,你可以使用i的值。

答案 1 :(得分:0)

您可以使用CString中的 find 方法查找“单词分隔”字符,然后使用子字符串方法提取

在StackOverflow中搜索“CString parse”或“CString regular expression”。