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

一个读写文件问题,数据不能写到文件中去,弄了很久,还是不知道哪错了,求大侠帮忙

一个人的孤独 发布于 2012-12-02 13:19, 455 次点击

#include<iostream>
#include <fstream>
using namespace std;
void main(){
    char password[20];
    char text[10];
    fstream ioFile;   

    while(1){
    cout<<"***************************日记记事本********************"<<endl;
    cout<<"需要设置密码吗?***Y/N***";
    char YN;
    cin>>YN;
    cout<<"进入日记记事本,输入quit结束写日记"<<endl;
    if(YN=='N'){   
        ioFile.open("f:\\Diary\\diary.txt",ios::out);
        while(1){
            cin>>text;
            ioFile<<text;
            if(strcmp(text,"quit")==0)break;
        }
//        ioFile.close;
    }
    else if(YN=='Y'){
        cout<<"请输入密码(小于20字符或数字)回车进入日记本记事本(输入quit结束):";
        cin>>password;
        ioFile.open("f:\\Diary\\password.txt",ios::out);
        ioFile<<password;
        while(1){
            cin>>text;
            ioFile<<text;
            if(strcmp(text,"quit")==0)break;
        }
//    ioFile.close;
    }
    //------------------------
    //显示日记
    cout<<"你的日记设有密码吗?*Y/N*";
    cin>>YN;
    if(YN=='N'){
    ioFile.open("f:\\diary.txt",ios::in|ios::binary);
    while(!ioFile.eof()){
        ioFile>>text;
        cout<<text;
    }
//    ioFile.close;
    }
    else if(YN=='Y'){
        cout<<"请输入密码,回车结束"<<endl;
        char inpassword[20];
        ioFile.open("f:\\diary.txt",ios::in|ios::binary);
        ioFile>>password;
        while(1){        
            cin>>inpassword;
        if(strcmp(inpassword,password)==0){        
            while(!ioFile.eof()){
                ioFile>>text;
                cout<<text;
            }
        ioFile.close;
        }
        else if(strcmp(inpassword,password)!=0){
            cout<<"密码错误,请重新输入";
            }
        }
    }
    }
}
2 回复
#2
yuccn2012-12-02 16:19
ioFile.close; -》ioFile.close();吧
ioFile.open("f:\\Diary\\diary.txt",ios::out); 这个 你确保Diary文件夹存在不
打开文件时候,最好判断一下文件是否打开成功
#3
一个人的孤独2012-12-03 15:15
Diary存在,运行程序后diary.txt文件有了,就是diary.txt中没有内容,写不进去
1