2012-05-18 85 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'(即“直到字符串结尾”)。 –