我正在尝试创建一个文件操纵器,因此当我cin >> filename
读取文件并计算值时...当然我会添加更多内容,但我想继续获取文件内容的基础知识。
我想要实现的是通过 cout 提示用户输入文本文件名,然后当他输入时,我将cin >> readfile
在下一行代码中执行另一个操作,然后编译器将运行运算符重载并 cout 内容。
我如何实现它。下面是我的代码。
问题是代替接收char* fname
,我可以发送 ifstream 代替吗
所以我可以做类似的事情
ifstream infile(filename.c_str());
cin >> infile
以下是我当前的代码
#include <iostream>
#include <fstream>
#include <string>
#include "point2d.cpp"
#include "line2d.cpp"
#include <iomanip>
using namespace std;
struct myself
{
string myname;
};
istream &operator>> (istream &stream, myself &myself )
{
cout << "Enter my name";
stream >> myself.myname;
return stream;
}
istream &operator>> (istream &in, char* fname)
{
ifstream inFile;
inFile.open(fname);
char ch1;
while (inFile.get(ch1))
{
cout << ch1;
}
}
int main()
{
string filename;
cout << "Enter file name: ";
cin >> filename;
// was thinking of
// ifstream infile(filename.c_str());
// then read infile with cin
//how do i cin filename and read its content.
return 0;
}