char配列をシリアルに出力しようとしています。配列自体は文字で埋められていますが、配列の要素だけでなく配列全体を印刷するとすぐに、印刷される文字列は空になります。
#define MAX_PAYLOAD_SIZE 80
class CmdBuffer {
...
private:
char buffer[MAX_PAYLOAD_SIZE+1];
int bufferpointer;
...
};
//In cpp File
String CmdBuffer::readCommand(char data) {
buffer[++bufferpointer]=data;
if(data != CMD_EOF) {
return NULL;
}
buffer[++bufferpointer]='\0';
...
for(int i=0; i<bufferpointer; i++) {
Serial.print(buffer[i]);
}
Serial.println("\n-------");
Serial.println(buffer);
Serial.println("END");
...
}
入力文字が次の場合abcdefg
、出力は次のようになります。
abcdefg
-------
END
では、配列全体が印刷できないのに、なぜ要素を印刷できるのでしょうか。