我开始编写一个翻译程序,它将使用并行数组翻译文件中的一串文本.要翻译的语言是pig Latin.我创建了一个文本文件,用作猪拉丁语到英语词典.我不想使用任何二维数组; 我想将数组保持在一个维度.基本上我想读取用PigLatin编写的文本文件,并使用我创建的字典,我想在命令行上将翻译输出到英文.
我的伪代码理念是:
打开字典文本文件.
询问用户用PigLatin编写的文本文件的名称,他/她想要翻译成英文
搜索用户文本文件中的每个单词并与词典进行比较,然后相应地翻译单词.继续前进,直到没有更多的词要翻译.
在命令行界面显示翻译的单词.
我正在考虑使用并行数组,一个包含英语翻译单词,另一个包含猪拉丁语单词.
我想知道如何在C++中使用数组操作字符串?
谢谢.
如果文件总是在一个方向上翻译(例如PigLatin - >英文),那么使用std::map将一个字符串映射到另一个字符串会更容易,更有效:
std::map<std::string, std::string> dictionary;
dictionary["ashtray"] = "trash";
dictionary["underplay"] = "plunder";
Run Code Online (Sandbox Code Playgroud)
并获得翻译的单词,只需用于dictionary[]查找(例如std::cout << dictionary["upidstay"] << std::endl;)