😴
【Arduino】Stringからcharへの変換
String
からchar*
を得る
String
型からchar*
型を得るには、String::c_str()
を使えば済みます。char
型の配列を得るにはString::toCharArray()
を使いますが、何やら煩雑そうです。配列もポインターに過ぎませんから、結果は同じことではないでしょうか。
buffer
とあるのは、String
クラスのメンバー変数String::buffer
です。
既に存在するものを取得しているだけなので、「変換」と言うか否かは微妙ですね。
用例
void setup() {
Serial.begin(115200);
while (!Serial);
// Stringの定義
String sText("Hello");
// char*を取得する
const char* pcText = sText.c_str();
// 配列の真似事
Serial.println(pcText[0]);
Serial.println(pcText[1]);
Serial.println(pcText[2]);
Serial.println(pcText[3]);
Serial.println(pcText[4]);
}
void loop() {}
実行結果はこの通りです。
serial monitor
H
e
l
l
o
Discussion