输入任意多个整数, 把这些数据保存到文件data.txt中.(按ctrl + z)

#pragma once
#include <iostream>
#include <fstream>
using namespace std;
/*
输入任意多个整数, 把这些数据保存到文件data.txt中.
如果在输入的过程中, 输入错误, 则提示用户重新输入.
指导用户输入结束(按ctrl + z)
[每行最多保存10个整数]
*/
int main()
{
    int num;
    int flag = 0;
    ofstream ofs;
    ofs.open("data.txt");    //?

    if (!ofs.is_open()) {
        cout << "文件打开失败" << endl;
        exit(1);
    }


    while (1) {
        cout << "请输入整数:";
        cin >> num;


        if (cin.eof()) {
            cout << "结束输入" << endl;
            break;
        }

        while(cin.fail()) {
            cin.clear();    //清空错误标志
            //cin.sync();        //VS中无效
            //cin.ignore(10, '1');
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            //流的最大,缓冲区中所有数据      扔掉缓冲区所有数据包括\n
            cout << "输入错误,请重新输入:";
            cin >> num;
        }


        ofs << num << '\t';
        if (++flag % 10 == 0) {
            ofs << endl;
        }
    }


    ofs.close();
    system("pause");
    return 0;
};
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值