在 Python 中,您可以使用
print "String"[-1]
语句来打印字符串的最后一个字符 'g'。在 C++ 中是否有类似的等价语句?error: request for member 'rbegin' in '"123"', which is of non-class type 'const char [4]'
。 - user4591818对于 std::string
,使用 back()
函数:
std::string str ("Some string");
cout << str.back()
输出:
g
对于C字符串,它是
String[strlen(String) - 1];
对于C ++风格的字符串,它可以是
String.back();
*String.rbegin();
String[String.length() - 1];
function:
my_string.back();
#include <iostream>
std::cout << my_string.back();
std::string
库类型,可以像这样使用:std::string s("String"); std::cout << s.back() << '\n';
。此外,还有C风格的以NUL结尾的ASCIIZ字符串。像"String"
这样的字符串字面量是ASCIIZ格式的字符数组,并且可以轻松地衰减为其第一个字符的const char*
指针。你不能调用"String".back();
,但可以编写一个函数char back(const char* p) { return p[strlen(p) - 1]; }
来实现相同的功能。 - Tony Delroy