C ++のarduinoプロジェクト用にsprintf()を使用してchar配列をフォーマットしようとしています私の目標は、次の整数をフォーマットすることです:日、月、年、時、分、秒を次のようにフォーマットします
DD / MM / YYYY HH:MM:SS
私の問題は、整数が10未満の場合に発生します。次のsprintfで修正しようとしたフォーマットを失います。
sprintf (timeStr, "%c%u/%c%u/%u %c%u:%c%u:%c%u",(monthDay>0 && monthDay<=9)?'0':'',monthDay,(month>0 && month<=9)?'0':'',month,year,(hour>0 && hour<=9)?'0':'',hour,(minute>0 && minute<=9)?'0':'',minute,(second>0 && second<=9)?'0':'',second);
正当な値を持たない''から来ると私が想定する「空の文字定数」を取得するため、これはコンパイルされません。
ステートメント内の%cが条件付きであり、値が10未満の場合にのみ値が必要な場合に、sprintfを使用して文字列をフォーマットする方法に固執しています。
私がこれをどのように達成できるかについて誰かが何か洞察を持っているなら、私は本当にそれに固執しているのでそれを高く評価します!
ありがとうございました!