如何读取在同一个程序 C++ 中创建的文件?

How can I read a file that I created in the same program, C++?

我做了一个程序,它以十进制、十六进制和八进制形式创建一个数字文件:

int main()
{
    int i;
    cout << "Enter number" << endl;
    cin >> i;
    system("pause");
    CreateFile(i);
    ShowFile();
    return 0;
}

void CreateFile(int i)
{
    ofstream file("file.txt", ios::app);
    file << "--------------------------------\n";
    file << "Number in decimal is:" << i << "\n";
    file << hex << setiosflags(ios::uppercase);
    file << "Number in hex is:: " << i << "\n";
    file << dec << resetiosflags(ios::showbase);
    file << oct << setiosflags(ios::uppercase);
    file << "Number in octal is: " << i << "\n";
    file.close();
}

但是我不知道如何在控制台中读取它:

void showFile()
{
    int open;
    ifstream file("file.txt", ios::in);
    while (!file.eof() == false) {
        file >> open;
        cout << "The number is " << open << endl;
    }
}

如何打开它?

您完全按照您打开的方式打开它。

您的问题不是打开文件,而是读取文件。你打开文件就好了。您只是无法正确阅读它,您的问题是其他问题。你实际上有两个问题:

1) 你不是 checking for the end-of-file condition correctly.

2) 您在文件中写入了几行文本。但是以某种方式读取文件的代码莫名其妙地期望文件只包含数字,而不是您写入其中的整个文本。

实际上还有第三个问题:错误的代码缩进。了解如何正确缩进代码可以提高可读性,并且通常有助于发现错误。