程序运行时,不读取文件

时间:2019-05-24 16:23:26

标签: c++

有人可以帮助我了解为什么此代码不起作用,程序运行时无法加载“ booklist.txt”。

当程序运行时调用函数列表簿时,它没有 在屏幕上显示任何内容,这是主要问题。 (文件不为空。)

  #include <iostream>
    #include <cstdlib>
    #include <fstream>

    using namespace std;
    void listbooks()
    {
        ifstream TheFile("booklist.txt");

        char autor;
        char bookname;
        long int isbn;

        while (TheFile >> autor >> bookname >> isbn)
    {
            cout << autor << " " << bookname << " " << isbn << endl;
    }
    }

    int main()
    {
        int choice;
    do {
            cout << "1.List all books" << endl;
            cout << "2.Borrow book" << endl;
            cout << "3. Exit" << endl;
            cout << "Enter your choice: ";
            cin >> choice;
            switch (choice)
    {
            case 1:
                listbooks; 
                break;
            case 2:
                break;
            default:
                cout << "";
    }
    } while (choice != 3);
        system("pause");
        return 0;
    }

2 个答案:

答案 0 :(得分:4)

在您的switch中,您有

case 1:
    listbooks; 
    break;

这不是函数调用:在C / C ++中,函数名称(不带括号)是地址。试试

case 1:
    listbooks(); 
    break;

Related.

答案 1 :(得分:-3)

问题是char变量,当我删除“ char autor”和“ char bookname”时,程序运行正常。