fuxuanyuan 发表于 2008-6-2 18:24

帮忙看看代码 逻辑错误..

输出到文件时 不能连续输入.不知道为什么,高手请指点

#include<iostream>
#include<fstream>
#include<cstdlib>

using namespace std;

void cout_char(ofstream& out_stream);
//提示用户输入将用户的输入保存到文件中同时输出到屏幕.

void cin_char(ifstream& in_stream);
//读取文件中的内容并发送到屏幕.

int main()
{
        ifstream fin;
        ofstream fout;

        fin.open("number.txt");
        if(fin.fail())
        {
                cout<<"读取文件打开失败\n";
                exit(1);
        }


        cin_char(fin);


        fout.open("number.txt");
        if(fout.fail())
        {
                cout<<"输出文件打开失败\n";
                exit(1);
        }

       
        cout_char(fout);

        fin.close();
        fout.close();

        cout<<"程序运行结束"<<endl;

        system("pause");

        return 0;
}


void cout_char(ofstream& out_stream)
{
        char ch;

        cout<<"请输入建议输入完毕请按2次回车结束输入"<<endl;


        while(cin.get(ch))
        {
                if(ch=='\n')
                {
                        cin.get(ch);
                        out_stream.put(ch);
                        cout<<ch;
                        if(ch=='\n')
                        {
                                cout<<"输入结束,谢谢使用"<<endl;
                                break;
                        }
                }
                else
                {
                        cin.get(ch);
                        out_stream.put(ch);
                        cout<<ch;
                }
        }
}


void cin_char(ifstream& in_stream)
{
        char next;

        in_stream.get(next);
        while(!in_stream.eof())
        {
                cout<<next;

                in_stream.get(next);
        }
}


页: [1]

编程论坛