2012-04-19 27 views
1

我需要一个函数middle,它接受一个字符串,并返回中间字符,如果有奇数个字符,并且两个中间字符,如果在我的程序的C++字符串中有偶数个字符书面可惜我找不到任何为例预先做好这就是在C++中间函数

+4

这是功课? – 2012-04-19 22:51:09

+0

在纸上试一下,什么是(长度/ 2)?什么是(长度%2)? – 2012-04-19 22:51:32

+0

空串应该怎么做? – wallyk 2012-04-19 22:55:50

回答

4
std::string middleCharacters(const std::string &str) 
{ 
    if (str.length() <= 0) return ""; // For an empty string, return an empty string (customize this as desired) 
    return str.substr((str.length() - 1)/2, 2 - str.length() % 2); 
} 

为了证明这个工程:http://ideone.com/vId2l

+1

如果这是作业,只是给出答案不应该被鼓励。 – 2012-04-19 23:30:43

+0

@XavierHo是的,我同意,事后我有点后悔回答。 – jli 2012-04-19 23:34:24