C ++如何提取字符串的第一个和其余部分?

时间:2011-06-13 22:04:26

标签: c++ string

假设我有一段字符串“abcd”我想要一个函数从“a”得到char'abcd',另一个函数得到“bcd }“from”abcd“。

3 个答案:

答案 0 :(得分:7)

假设您使用std::string,则需要:

str[0] // for the first char
str.substr(1) // for the rest of string

如果您使用的是标准C char*字符串,则需要:

str[0] // for the first char

((char*)str+1) // or
&str[1]        // for the rest of string

使用前一种方法时,请确保捕获out_of_range个异常,或者在调用之前检查字符串长度。

答案 1 :(得分:1)

编辑:我发现之前我正在提供一个C ++ .NET示例。

您正在寻找的是substr方法。如果您的字符串s包含“abcd”,则执行s.substr(0,1)将为您提供包含“a”的字符串,而s.substr(1,3)将为您提供包含“bcd”的字符串。

答案 2 :(得分:0)

TCHAR s[] = _T("abcd");

// Get 'a'
TCHAR c = s[0];

// Get "bcd"
TCHAR *p = s + 1;
相关问题