假设我有一段字符串“abcd
”我想要一个函数从“a
”得到char'abcd
',另一个函数得到“bcd
}“from”abcd
“。
答案 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;