我最近的作业是编写一个程序,该程序读取文本文件并输出行数,单词和字符数。
我只是刚开始,现在我要做的就是让用户输入文件名,然后文件将打开。这是我无法正常工作的代码,我肯定缺少明显的东西,我只是想将流和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/