[ad_1]
sprintf(rule_payload, “{\”state”\:{\”報告”\:{\”co2″\:\” %d “\, \”温度”\:\” %f “\, \”湿度” \:\” %f” \, \”圧力”\ :\” %f “\, \”バッテリー”\ :\” %d” \, \”名前”\ :\” co2センサー” \, \ “timestamp”\ : \” %d” \, \”ttl”\: \” %d ” \ }}}”,co2,温度,湿度,圧力,バッテリー,now,delete_time);
私が試したこと:
sprintf でオンラインで調査しましたが、間違いが見つかりません。 おそらく簡単になることはわかっていますが、私はこれにかなり慣れていないため、プログラムを実行しようとしています。
解決策 1
sprintf(rule_payload, "{\"state"\:{ ^^ -- the escape should be before the quote.
同様に見当違いのものは他にもかなりあります:
sprintf(rule_payload, "{\"state"\:{\"reported"\:{\"co2"\:\" %d "\, \"temperature"\:\" %f "\, \"humidity"\:\" %f" \, \"pressure"\ :\" %f "\, \"battery"\ :\" %d" \, \"name"\ :\" co2-sensor" \, \"timestamp"\ : \" %d" \, \"ttl"\: \" %d " \ }}}",co2,temperature,humidity,pressure,battery,now,delete_time);
解決策 2
Richard が言ったことに付け加えると、コーディング中に毎日、おそらく 1 日に何度も構文エラーが発生することを予期する必要があります。 変数やキーワードのスペルを間違えることがあります。 文字列やコード ブロックを閉じるのを忘れることがあります。 猫があなたのキーボードの上を歩いて、とても奇妙なことをタイプすることがあります。 メソッド呼び出しに必要なパラメーターの数を忘れてしまうことがあります。
我々はすべての間違いを犯します。
そして、私たちは皆そうしているので、構文エラーを修正する必要があります。他の人が修正してくれるのを待つよりも、方法を学んで自分で修正する方がはるかに迅速です! したがって、エラー メッセージの読み方と、コンパイラが間違っていると言っていることに照らして記述されたコードを解釈する方法を学ぶことに少し時間を費やしてください。
だからこれを読んでください: 問題を解決するコードの書き方、初心者向けガイド パート 2: 構文エラー[^] – 次回コンパイル エラーが発生したときに役立つはずです。
[ad_2]
コメント