如何获取字符串的第n个字符?
我有一个字符串,
char* str = "HELLO"
如果我想从中获得E
,我该怎么做?
char* str = "HELLO"; char c = str[1];
请记住,C中的数组和字符串开始索引为0而不是1,因此“H”是str[0]
,“E”是str[1]
,第一个“L”是str[2]
,依此类推。
你会这样做:
char c = str[1];
甚至:
char c = "Hello"[1];
编辑:更新以找到“E”。
数组符号和指针算法可以在C / C ++中互换使用(对于所有情况都不是这样,但是当你到达那里时,你会自己找到这些案例)。 因此虽然str
是一个指针,但你可以像使用它一样使用它:
char char_E = str[1]; char char_L1 = str[2]; char char_O = str[4];
…等等。 您还可以做的是将“1”添加到指向字符str
的指针的值,然后指向字符串中的第二个字符。 然后你可以简单地做:
str = str + 1; // makes it point to 'E' now char myChar = *str;
我希望这有帮助。
#include #include using namespace std; int main () {string a="HELLO";char b=a[1]; cout<