关于下面程序的运行有关问题

关于下面程序的运行问题

#include "targetver.h"
#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <map>
#include <string>
#include<fstream>//文件输入输出的流类
#include <sstream>


using namespace std;
ifstream& open_file(ifstream &in,const string &file)
{
   in.close();
   in.clear();
   in.open(file.c_str());
   return in;
}
int _tmain(int argc, _TCHAR* argv[])
{
map<string,string> trans_map;
string key,value;
if (argc!=3)
{
throw runtime_error("wrong number of arguments");//debug  error
}
  ifstream map_file;
if (!open_file(map_file,argv[1]))  //debug assertion failed
{
throw runtime_error("no transformation file");
}
while(map_file>>key>>value)
trans_map.insert(make_pair(key,value));
  ifstream input;
if (!open_file(input,argv[2]))
{
throw runtime_error("no input file");
}
string line;
while(getline(input,line))
{
istringstream stream(line);
string word;
bool  firstword=true;
while(stream>>word)
{
map<string,string>::const_iterator map_it=trans_map.find(word);
if (map_it!=trans_map.end())
{
word=map_it->second;
}
if (firstword)
{
firstword=false;
}
else
cout<<"  ";
cout<<word;
}
cout<<endl;
}

return 0;
}


通过编译了但是不能正常运行
------解决方案--------------------
运行时哪里不对了?楼主说清楚点