我有一个字符串,
char* str = "HELLO"
如果我想从E
那里得到那个怎么办?
答案 0 :(得分:23)
char* str = "HELLO";
char c = str[1];
请记住,C中的数组和字符串开始索引为0而不是1,因此“H”为str[0]
,“E”为str[1]
,第一个“L”为{{1等等。
答案 1 :(得分:13)
你会这样做:
char c = str[1];
甚至:
char c = "Hello"[1];
编辑:更新以找到" E"。
答案 2 :(得分:4)
数组符号和指针算法可以在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;
我希望这会有所帮助。