| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2024 人关注过本帖
标题:无法把数据保存进文件
只看楼主 加入收藏
qq4056
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2014-11-18
收藏
 问题点数:0 回复次数:6 
无法把数据保存进文件
程序代码:
#include <iostream>
#include <vector>
#include <list>
#include <algorithm>
#include <functional>
#include <iterator>
#include <fstream>
#include <string>
class StoreQuote
{
public:
    string quote, speaker;
    ofstream fileOutput;

    StoreQuote();
    ~StoreQuote();

    void inputQuote();
    void inputSpeaker();
    bool write();
};

//创建文件,并且打开
StoreQuote::StoreQuote()
{
    fileOutput.open("text.txt", ios::app);
}

//关闭文件
StoreQuote::~StoreQuote()
{
    fileOutput.close();
}

//输入文本
void StoreQuote::inputQuote()
{
    getline(cin, quote);
   //cin >> qsort >> endl;
}

void StoreQuote::inputSpeaker()
{
    getline(cin, speaker);
}

bool StoreQuote::write()
{
    if(fileOutput.is_open())
    {
        fileOutput << quote << "|" << speaker << "\n";
        return true;
      
    }
    else
    {
        return false;
    }
}



int main()
{
    StoreQuote quote;

    cout << "请输入一句话: " << endl;
    quote.inputQuote();

    cout << "请输入作者: " << endl;
    quote.inputSpeaker();

    if( &StoreQuote::write)
    {
        cout << "成功写入文件!" << endl;
    }
    else
    {
        cout << "写入文件失败!" << endl;
        return 1;
    }


    return 0;
}


麻烦大家帮忙看一下问题在哪,谢谢大家!
搜索更多相关主题的帖子: include include 
2015-06-05 00:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9026
专家分:54030
注 册:2011-1-18
收藏
得分:0 
首先,你这代码编译失败。算了,不说。

if( &StoreQuote::write) 应当是 if( quote.write() ),这也错得太离谱了吧
2015-06-05 08:20
qq4056
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2014-11-18
收藏
得分:0 
回复 2楼 rjsp
在window7下 用visual studio2012编译的结果,并且无错误,只是输入数据无法保存
2015-06-05 09:31
qq4056
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2014-11-18
收藏
得分:0 
回复 2楼 rjsp
开始我是用  if( quote.write() ) 但是编译报错。
2015-06-05 09:33
小码农
Rank: 9Rank: 9Rank: 9
来 自:大山里
等 级:蜘蛛侠
威 望:7
帖 子:151
专家分:1198
注 册:2014-11-8
收藏
得分:0 
用这个if( quote.write() ) ,才是对象调用函数的正确方法。
之所以编译失败,我觉得是你用了cout<<和file<<,但却没有使用命名空间,在预编译处加上using namespace std;  亲测可以

[ 本帖最后由 小码农 于 2015-6-5 10:51 编辑 ]

沉淀自己,厚积薄发!
2015-06-05 10:25
qq4056
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2014-11-18
收藏
得分:0 
回复 5楼 小码农
using namespace std;这句话有了,编译没有错误,正常运行,但是不能把数据写入text.txt,程序运行结束之后我打开text.txt是空的。
2015-06-05 21:23
qq4056
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2014-11-18
收藏
得分:0 
问题已经解决了,谢谢rjsp和小码农,你们是对的,是我粗心。谢谢!
2015-06-05 21:27
快速回复:无法把数据保存进文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017845 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved