难点:
1. 忘记使用istringstream处理一行里面的单个单词,我使用的是string.find和substr,导致代码过于臃肿了。
void test12()
{
string in_file_path = "D:/rule.txt";
string out_file_path = "D:/output.txt";
string target_file_path = "D:/target.txt";
ifstream in(in_file_path);
ifstream target(target_file_path);
ofstream out(out_file_path);
unordered_map<string, string>mss;
string line;
while (getline(in, line))
{
int pos = line.find(" ");
mss[line.substr(0, pos)] = line.substr(pos + 1);
}
string word;
while (getline(target, line))
{
istringstream iss(line);
while (iss >> word)
{
if (mss.find(word) != mss.end())
{
word = mss[word];
}
out << word << " ";
}
out << endl;
}
in.close();
target.close();
out.close();
cout << "yes" << endl;
}
缺点:目前还没有养成写注释的习惯,希望后面能学习大佬代码,学学代码风格。