私はArduinoを使用してプロジェクトに取り組んでおり、シリアルポート(int
sを送信する)から読み取っています。次に、このシリアル通信を LCD に書き込む必要がありますchar*
。
シリアルポートからいくつかの文字 (2 つの整数) を文字列に読み取る必要があります。両方を受信したら、文字列をクリアして次の 2 文字に備える必要があります。
TLDR : を に追加し、文字列が 2 文字になった後に文字列をクリアするにはどうすればよいint
ですchar*
か?
charは単一の文字ですが、char *は、文字へのポインター、またはヌル文字で終了するcharの配列であるC文字列の最初の文字へのポインターにすることができます。
1桁より長い整数を表すためにcharを使用することはできないので、実際にはchar*を意味していると仮定します。
あなたが持っている場合
char buffer[10];
次に、sprintfを使用buffer
してintを表す文字列に設定できます。n
sprintf(buffer, "%d", n);
そして、それが終わったら、文字列をクリアすることができます
sprintf(buffer, "");
それがあなたが求めていたものであることを願っています、そして幸運を祈ります!
char * に読み込むことはできません。これはポインターです。ポインターが有効なものを指していれば、ポインターが指すメモリーを読み取ることができます。清算に関しては、それが何を意味するのかは明らかではありません。
肝心なのは、あなたが望むことをしようとする実際のコードを投稿し、それについて尋ねる必要があるということです。