【MFC】:MFC关于文件读写的代码及结构体的错误问题

首先,这篇文章要给大家讲一句关于VC里面结构体的声明问题
比如说下面的代码:
struct pos{
CString temp’
}P[5000]; //这段代码就是错误的,我也不知道为什么

struct pos{
CString temp;
}g; //这段代码也是错误的。。。

struct pos{
CString temp;
};
pos g; //这样就是正确的了,比如要如此声明才可以

剩下的内容就是关于文件操作就是读取的问题了。
我这里简单说一下我的想法,方法就是写进去的时候一行一行的写,用writestring函数
读出来的时候也是一行一行的读,用readstring函数
之后读出来的一行数据通过空格进行拆分,这时候就能获得你想要的数据了,详细代码如下:

    CStdioFile myfile,readfile;
    if(myfile.Open("d:\\book.dat",CFile::typeText|CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate)){
        myfile.SeekToEnd(); //移动指针到末尾
        myfile.WriteString(temp.name);
        myfile.WriteString(" ");
        myfile.WriteString(temp.schnumber);
        myfile.WriteString(" ");
        myfile.WriteString(temp.identity);
        myfile.WriteString(" ");
        myfile.WriteString(temp.tel);
        myfile.WriteString(" ");
        myfile.WriteString(temp.money);
        myfile.WriteString(" ");
        myfile.WriteString(temp.other);
        myfile.WriteString(" ");
        myfile.WriteString(temp.date);
        myfile.WriteString("\n");
    }
    myfile.Close();
    MessageBox("录入成功");




    CString data;
    struct bike{
            CString temp[7]; //这里的temp CString数组是用来接各种数据用的
    };
    bike ggg[50000]; //这样弄完之后就能把文件的各种信息放到结构体里面了
    int wide_count = 0;
    if(readfile.Open("d:\\book.dat",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite)){
        while(readfile.ReadString(data)){
            MessageBox(data); //每一行的数据都已经存到了data里面
            int count;
            count = 0;
            for(int i=0;i<data.GetLength();i++){
                if(data[i]!=' '){
                    ggg[wide_count].temp[count] = ggg[wide_count].temp[count] + data[i];
                }
                else{
                    ggg[wide_count].temp[count] = ggg[wide_count].temp[count] + '\0';
                    count++;
                }
            }
            for(i=0;i<=count;i++){
                MessageBox(ggg[wide_count].temp[i]);
            }
            wide_count++;
        }
    }
    readfile.Close();

你可能感兴趣的:(struct,mfc,VC,结构,CString)