詞典 stringstream 應用

2021-10-03 09:09:39 字數 1178 閱讀 2906

描述

你旅遊到了乙個國外的城市。那裡的人們說的外國語言你不能理解。不過幸運的是,你有一本詞典可以幫助你。

輸入首先輸入乙個詞典,詞典中包含不超過100000個詞條,每個詞條佔據一行。每乙個詞條包括乙個英文單詞和乙個外語單詞,兩個單詞之間用乙個空格隔開。而且在詞典中不會有某個外語單詞出現超過兩次。詞典之後是乙個空行,然後給出乙個由外語單詞組成的文件,文件不超過100000行,而且每行只包括乙個外語單詞。輸入**現單詞只包括小寫字母,而且長度不會超過10。

輸出在輸出中,你需要把輸入文件翻譯成英文,每行輸出乙個英文單詞。如果某個外語單詞不在詞典中,就把這個單詞翻譯成「eh」。

樣例輸入

dog ogday

cat atcay

pig igpay

froot ootfray

loops oopslay

atcay

ittenkay

oopslay

樣例輸出

cat

ehloops

分析:

這個題是用乙個詞來查詢另乙個詞,所以可以用map來儲存單詞。

這個題有兩個任意的輸入所以第一組單詞可以用getline來進行輸入,如果getline的輸入為空,那麼停止輸入。getline每次會輸入一行,在輸入之後還要再將輸入的兩個單詞拆分然後存到map中。

將輸入的兩個單詞進行拆分可以用stringstream來完成,stringstream在標頭檔案中。

stringstream ss

(s)//定義ss並將字串s放入ss中

sin>>a>>b;

//將ss中的兩個單詞分別輸入字串a和b中

有了stringstream就可以很方便的輸入到s中的兩個單詞進行拆分了。

實現**:

#include

#include

#include

#include

#include

using

namespace std;

string s,a,b;

mapm;

intmain()

while

(cin>>s)

return0;

}

stringstream操縱string小總結

1 split字串 之前在用c 寫 的時候,用過split函式,可以把乙個字串根據某個分隔符分成若干個字串陣列。在用c 操縱字串的時候,我一直使用很笨的遍歷的方法。為此,我問候過很多次c 標準委員會。直到某一天,我做了乙個處理絕對路徑的題目。首先,我要把 作為分隔符,把輸入字串split一下。下面是...

stringstream常見用法

sstream定義了三個類 istringstream ostringstream 和 stringstream,分別用來進行流的輸入 輸出和輸入輸出操作。為什麼要用stringstream?因為用sprintf 函式將乙個變數從int型別轉換到字串型別。為了正確地完成這個任務,你必須確保證目標緩衝...

stringstream 型別轉換

stringstream可以吞下不同的型別,然後吐出不同的型別。這樣可以實現int,string,double等型別的轉換 1 include2 3using namespace std 45 intmain 612 缺點 效率低,執行時間長 由於cin,cout為了相容c有個同步流。關閉同步流的方...