我正在尝试使用 shared_ptr 指针从文件中读取。我不知道如何使用插入运算符。这是代码:
#include <iostream>
#include <regex>
#include <fstream>
#include <thread>
#include <memory>
#include <string>
#include <map>
using namespace std;
int main()
{
string path="";
map<string, int> container;
cout<<"Please Enter Your Files Path: ";
getline(cin,path);
shared_ptr<ifstream> file = make_shared<ifstream>();
file->open(path,ifstream::in);
string s="";
while (file->good())
{
file>>s;
container[s]++;
s.clear();
}
cout <<"\nDone..."<< endl;
return 0;
}
简单地做:
file>>s;
不起作用。
如何获取文件指向的当前值(我不想获取整行,我只需要以这种方式获取它们出现的单词和数量)。
顺便说一句,我使用 shared_ptr 来避免自己关闭文件,是否制作这种类型的指针,shared_ptr(智能)不写file->close()
自己就足够了吗?还是它们无关紧要?