1

我目前正在上 Intro C++ 课程,并且正在学习字符串和它们的成员函数。我有这样的问题:

假设 name 是一个被赋值的 string 类型变量。编写一个表达式,其值为包含 name 值的第一个字符的字符串。因此,如果 name 的值为“Smith”,则表达式的值为“S”。

或者

假设 name 是一个被赋值的 string 类型变量。编写一个表达式,其值为包含 name 值的最后一个字符的字符串。因此,如果 name 的值为“Smith”,则表达式的值为“h”。

或者

假设 word 是一个被赋值的字符串类型变量。编写一个表达式,其值为由 word 值的最后三个字符组成的字符串。因此,如果 word 的值是“最大”,则表达式的值将是“est”。

我知道诸如 name[0] 和 name[name.length() - 1] 之类的东西,但我不知道如何在一个表达式中将它们转换为字符串。我一直在寻找可以帮助我做到这一点的成员函数表或列表,但我被困住了。任何指示或帮助都会很棒。:D

4

3 回答 3

4

看一下 substr 方法。

http://www.cplusplus.com/reference/string/string/substr/

于 2012-05-18T22:32:29.780 回答
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);

希望这会有所帮助!

于 2012-05-18T22:55:15.627 回答
0

有很多方法可以做到这一点。例如, anstd::string也是char. 因此,您可以从一个空字符串开始,并char在其上附加一个。

于 2012-05-18T22:31:55.740 回答