【问题标题】:cannot output to dat, out, or txt, but can append data to input file,无法输出到 dat、out 或 txt,但可以将数据附加到输入文件,
【发布时间】:2013-03-24 00:30:46
【问题描述】:

第一篇文章,所以我希望这不是我的新手。无法让 Visual Studio 在任何地方使用 cpp 创建任何类型的输出文件,但我可以在输入文件中附加我的数据,所以我假设我的代码是正确的。这就是我所拥有的;

#include<iostream>
#include<string>
#include<iomanip>
#include<fstream>
#include<ostream>
using namespace std;

int main()
{
    //declarations
    string regions;
    string regionsNum;
    double qu1;
    double qu2;
    double qu3;
    double qu4;
    double average = 0.0;
    double total = 0.0;
    int regct;
    int count;
    //file declarations
    ifstream inregions;
    ofstream outregions;
    inregions.open("C:\\regions.txt", ios::in);
    if(inregions.fail() == 1)
    {
        cout << "Input failure" << endl;
        char response;
        cin.ignore(1, '\n');
        cin.get(response);
        return 1;
    }
    outregions.open("C:\\regions.dat", ios::app);
    if(outregions.fail() == 1)
    {
        cout << "Output failure" << endl;
        char response;
        cin.ignore(1, '\n');
        cin.get(response);
        return 1;
    }

    outregions << fixed << showpoint << setprecision(2);
    cout << fixed << showpoint << setprecision(2);

    for(regct = 0; regct < 4; regct++)
    {

        inregions >> regions;
        inregions.ignore(1);
        inregions >> regionsNum;
        cout << regions << regionsNum << endl;
        inregions.ignore(1);
        inregions >> qu1;
        inregions.ignore(1);
        inregions >> qu2;
        inregions.ignore(1);
        inregions >> qu3;
        inregions.ignore(1);
        inregions >> qu4;

        total = qu1 + qu2 + qu3 + qu4;
        cout << total << endl;
        average = total / 4;
        outregions << regions << " " << regionsNum << " average sales $" << average << endl;
    }
    cout << "Results found in C:\\regions.txt" << endl;
    char response;
    cin.ignore(1, '\n');
    cin.get(response);

    return 0;
 }

我有这个设置来告诉我 .open 之后的输出失败,我已经附加了文件,所以我知道其余的工作。提前感谢大家.....mrbrenzo

【问题讨论】:

  • 我已经修正了你的格式。为了将来参考,请避免将制表符粘贴到代码块中,因为它们会严重破坏格式。

标签: c++ fstream


【解决方案1】:

也许您没有在 C: 上创建/打开文件的权限。

【讨论】:

  • 谢谢,这是一个权限事件。我使用的是 Win7 企业版,它不假定我是管理员。好电话。
【解决方案2】:

这里是 C++ 和文件处理的一个很好的参考www.cplusplus.com 请注意读取和写入文件的默认设置。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 2017-03-20
    • 2020-03-15
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多