读取和写入整数到文件的程序

时间:2017-08-23 17:54:31

标签: c++ visual-studio file integer fstream

您好,并提前感谢您。这是一个非常简单的问题,但是让我感到紧张。我想要的只是要求一个整数写入文件,然后显示每个整数。我已经学会了如何写入或显示文件并且我已经成功了但是当我尝试同时执行这两项操作时它只是要求我输入整数并且不显示数字。 我认为这可能是与fstream或指针位置有关的问题。

以下是该计划:

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <fstream>

using std::cout;
using std::cin;
using std::fstream;
using std::endl;

int a;
int x;

int main() {
    fstream in;

    in.open("op.txt", std::ios::app);

    cout << "Write an integer" << endl;
    cin >> x;
    in << " " << x;

    while (in >> a) {
        cout << a << endl;
        cout << in.tellg();
    }

    in.close();
    return 0;

}

1 个答案:

答案 0 :(得分:1)

有一些事情需要修复:

in.open("op.txt",std::ios::in | std::ios::out | std::ios::app);

here是您需要std::ios::in and out

的原因

第二个问题是当您在文件中写入和读取之间切换时,就像您所述,问题在于读取指针的位置

in.seekg(0, std::ios::beg);//before the while loop;

这会将读取位置设置为0,以便程序可以从头开始读取文件。here