文字列があります
char* str = "HELLO"
それからE
だけを取得したい場合はどうすればよいですか?
char* str = "HELLO";
char c = str[1];
Cの配列と文字列は、1ではなく0でインデックス付けを開始するため、「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];
...等々。また、文字str
を指すポインターの値に1を追加して、文字列の2番目の文字を指すようにすることもできます。それからあなたは単にすることができます:
str = str + 1; // makes it point to 'E' now
char myChar = *str;
これがお役に立てば幸いです。