注册 登录
编程论坛 VC++/MFC

mfc 读取 TXT 格式文件的问题

wxcstc 发布于 2014-07-01 20:53, 702 次点击
我要将一个统计一篇英文文章的C++程序可视化,
在C++中我的读入操作是这样的
        char a,word[30];//默认单词长度不超过30
    ifstream fin;
    fin.open("123.txt");
    fin>>noskipws;
    while(fin>>a)
    {
        if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))
        {
            word[i]=a;
            i++;
        }
        else
        {
            createtrie(word);
            i=0;
        }
    }
是一个一个字符读入,遇到空格或标点则之前读入的数据为一个单词,传入createtrie函数中进行操作,我想知道MFC中该如何这样读入txt文件。急求,谢谢!
2 回复
#2
NBABOY2014-07-02 11:35
好像c++中的在mfc里也一样的能用吧!
#3
邵帅2014-07-02 17:45
回复 楼主 wxcstc
C语言对于文件的操作室通过FILE结构进行的。
C++对文件的操作室通过ofstream,ifstream类来实现
win32则利用一系列API如createfile,readfile,writefile等操作文件
MFC封装了win32API提供了基类CFile及一系列派生类操作文件。

用MFC仿照的写了一下
    CFile file("123.txt",CFile::modeRead);
    CArchive ar(&file,CArchive::load);
    char ch;
    char fl[30]={0};
    int i=0;
    CString str;


    do
    {
        ar>>ch;
        if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
        {
            fl[i]=ch;
            i++;
        }
        else
        {
            str.Format("%s",fl);
            AfxMessageBox(str);
            i=0;
            ZeroMemory(fl,30);
        }
    }
    while(!ar.IsBufferEmpty());
    str.Format("%s",fl);
    AfxMessageBox(str);
1