1

私はArduinoを使用してプロジェクトに取り組んでおり、シリアルポート(intsを送信する)から読み取っています。次に、このシリアル通信を LCD に書き込む必要がありますchar*

シリアルポートからいくつかの文字 (2 つの整数) を文字列に読み取る必要があります。両方を受信したら、文字列をクリアして次の 2 文字に備える必要があります。

TLDR : を に追加し、文字列が 2 文字になった後に文字列をクリアするにはどうすればよいintですchar*か?

4

2 に答える 2

2

charは単一の文字ですが、char *は、文字へのポインター、またはヌル文字で終了するcharの配列であるC文字列の最初の文字へのポインターにすることができます。

1桁より長い整数を表すためにcharを使用することはできないので、実際にはchar*を意味していると仮定します。

あなたが持っている場合

char buffer[10];

次に、sprintfを使用bufferしてintを表す文字列に設定できます。n

sprintf(buffer, "%d", n);

そして、それが終わったら、文字列をクリアすることができます

sprintf(buffer, "");

それがあなたが求めていたものであることを願っています、そして幸運を祈ります!

于 2009-06-06T07:54:45.767 に答える
0

char * に読み込むことはできません。これはポインターです。ポインターが有効なものを指していれば、ポインターが指すメモリーを読み取ることができます。清算に関しては、それが何を意味するのかは明らかではありません。

肝心なのは、あなたが望むことをしようとする実際のコードを投稿し、それについて尋ねる必要があるということです。

于 2009-06-06T07:39:37.857 に答える