我最近的作业是编写一个程序,该程序读取文本文件并输出行数,单词和字符数。

我只是刚开始,现在我要做的就是让用户输入文件名,然后文件将打开。这是我无法正常工作的代码,我肯定缺少明显的东西,我只是想将流和char传递给'input'函数。

有指针吗?

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

//Define functions.
void input(ifstream& fin, char& fileName);

int main()
{
    ifstream fin;
    char fileName[20];
    input(fin, fileName);
    return 0;
}

void input(ifstream& fin, char& fileName)
{
    cout << "Input file name: ";
    cin >> fileName;
    fin.open(fileName);

    if(fin.fail())
    {
        cout << "The file:  " << fileName << " does not open." << endl;
        exit(1);
    }
    //return;
}

最佳答案

这可能会使您更接近。至少克服了编译错误,但是您仍然需要做一些事情。将您带到参考手册和调试器。

#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

//Define functions.
void input(ifstream& fin, string& fileName);

int main()
{
    ifstream fin;
    string fileName;
    input(fin, fileName);
    return 0;
}

void input(ifstream& fin, string& fileName)
{
    cout << "Input file name: ";
    cin >> fileName;
    fin.open(fileName.c_str());

    if(fin.fail())
    {
        cout << "The file:  " << fileName << " does not open." << endl;
        exit(1);
    }
    //return;
}


不是我这样做的方法,但是您一定要学一些。祝好运!

关于c++ - 在C++中通过引用流和char进行调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12655726/

10-14 11:33