2012-05-18 91 views
1

我目前在Intro C++類中,並且正在學習它們的字符串和成員函數。 我有這樣的問題:需要幫助從字符串獲取字符?

假設名稱是一個已被賦值的字符串類型的變量。編寫一個表達式,其值是一個包含名稱值的第一個字符的字符串。所以如果名字的值是「Smith」,那麼表達式的值就是「S」。

假定名是已經分配一個值字符串類型的變量。編寫一個表達式,其值是一個包含name值最後一個字符的字符串。所以如果名字的值是「Smith」,表達式的值就是「h」。

假定字是已被分配一個值字符串類型的變量。編寫一個表達式,其值是一個由單詞值的最後三個字符組成的字符串。所以如果單詞的價值是「最大的」,表達的價值將是「est」。我知道諸如name [0]和name [name.length() - 1]之類的東西,但我不知道如何在一個表達式中將它們轉換爲字符串。我一直在尋找一個表格或成員函數列表,可以幫助我做到這一點,但我卡住了。任何方向或援助將是偉大的。 :D

+1

看看字符串的構造函數。 –

+2

還可以看看'string'類 – Win32

+0

作業的'substr'方法!家庭作業 !家庭作業! :P謝莉,但我無法抗拒這個評論:)。順便說一句,子串將是你正在尋找的方法(正如丹指出的那樣)。 – Ankit

回答

0

有很多方法可以做到這一點。例如,std::string也是char的標準容器。所以你可以從一個空字符串開始,然後附加一個char

2

我會用子:

//assume that the string in question is held in a variable with the name str 
string s1 = str.substr(0,1); 
string s2 = str.substr(str.length() - 2, 1); 
string s3 = str.substr(str.length() = 4, 3); 

希望幫助!

+0

你的's3'表達式有一個錯字;並且在's2'和s3'表達式中,可以省略第二個參數,因爲它默認爲'npos'(即「直到字符串結尾」)。 –