注册 登录
编程论坛 C++教室

我的数据怎么读到文件中去呢?弄了很久,还是不知道哪错了,个位大侠帮忙看下好不?

一个人的孤独 发布于 2012-12-02 13:15, 551 次点击
//一个日记记事本
#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<<"密码错误,请重新输入";
            }
        }
    }
    }
}
7 回复
#2
bczgvip2012-12-02 16:35
果断吐槽,为什么不用 string ?
#3
风吹过b2012-12-02 20:08
没看懂,C++ 。
移 C++ 那边吧。
#4
mfkblue2012-12-02 23:27
写入把 ioFile.open("f:\\Diary\\diary.txt",ios::out); 这句改成ofstream ioFile("c:\\diary.txt",ios::out);我写到C盘根目录了.
不过下面密码什么的逻辑没搞清楚,看的头晕.
#5
coleev2012-12-05 16:47
fstream ioFile改为ofstream ioFile,这样才能使用ioFile<<方法。

建议#include <string>
之后使用getline(cin,string strTxt); 获取字符串,省事儿很多。
#6
一个人的孤独2012-12-05 20:55
谢谢各位了,基本弄明白了 呵呵谢谢
#7
一个人的孤独2012-12-05 20:57
密码的什么逻辑自己胡编的,思路有点混乱 ,呵呵
以后我会注意的 谢谢你喽
#8
一个人的孤独2012-12-05 21:05
string 不没怎么会,当只输入一个字符,不知道怎么弄。还望指点。。。。。。(前几有点是都没进论坛,时间到了,没分了,还望见谅)
1