單詞轉換程式 練習關聯型容器

2021-07-10 18:57:35 字數 1353 閱讀 8481

功能:給定乙個string,將它按照一定規則轉換為另乙個string

輸入

1_rule檔案儲存轉換規則(每條規則由兩部分組成:可能在輸入檔案中出現的單詞和乙個用來替代的短語)

2_input檔案儲存待轉換的文字

輸出:在標準輸出中列印轉換後的文字

1 word_transform函式控制整個轉換過程,接受兩個引數,乙個轉換規則,乙個帶轉換的文字

2 buildmap 函式:讀入給定檔案,建立單詞轉換對映

3 transform_word 函式:讀入需要轉換的string的引用和轉換規則;如果給定string在map中,則返回轉換後的string,否則直接返回原string

string map_path = "/users/tubin/desktop/testforfstream/1_rule.txt";

string input_path = "/users/tubin/desktop/testforfstream/2_input.txt";

ifstream map_file(map_path);

ifstream input(input_path);

try

word_transform(map_file, input); //直接呼叫轉換程式

} catch (runtime_error e)

//讀取每一行,對每行中每乙個單詞進行對映

void word_transform(std::ifstream &map_file, std::ifstream &input) else

string ss = transform_word(record, m_rule);

cout

<< ss;

}cout

<< endl;

}}

//給定規則檔案,建立map

std::map

build_map(std::ifstream &map_file) else

}return m_rule;

}

//根據map,對映單詞

const

std::string& transform_word(const

std::string& s, const

std::map

& m_rule) else

}

雖然題意簡單,但還是能夠考察基本功。其中istringstream的使用和讀取key value的方法值得學習。

C 之STL(關聯型容器概覽)(藍橋杯備戰)

stl提供了四個關聯型容器,包括 map 對映 multimap 多重對映 set 集合 multiset 多重集合 map multimap的元素由 key,value 二元組構成,其中鍵必須是唯一的 set multiset 相當於叧有鍵 key 沒有對應值 value 的 map 和mulit...

單詞轉換程式 使用map 檔案讀寫操作

單詞轉換程式是c primer中的題。主要使用map來儲存單詞轉換的規則 以及檔案讀寫的操作,比如ifstream ofstream istringstream 流程 1 生成單詞轉換規則,其中使用ifstream讀寫檔案,將每一行的單詞拆分開,拆分出來的單詞分別存放在map的key value對 ...

C 12 實現單詞轉換的map程式

這個程式的功能是這樣的 給定乙個string,將它轉換為另乙個string,程式的輸入是兩個檔案。第乙個檔案儲存的是一些規則,用來轉換第二個檔案中的文字,每條規則有兩部分組成 乙個可能出現在輸入檔案中的單詞和乙個用來替換為對應的短語,第二個輸入檔案包含要轉換的文字。程式如下 include incl...