2017-07-28 16 views
0

私はmbedオンラインコンパイラを使用してプログラムを作成し、それをマルチテクmDot LoRaトランシーバにアップロードしています。私のプログラムは、基本的に特定のサイズのパケットをゲートウェイに送信することです。私のプログラムの終わりに私はコミュニケーションに関するいくつかの統計を得たいと思っています。私はgetStats()という関数を使うように言われています。これはヘッダファイル(mDot.h)の1つにあります。すべてこの機能については言及されているものmDot.hは以下の通りです:構造体を返さなければならない関数は、この構造体をC++でどのように出力できますか?

class mDot { 
    public: 
    typedef struct { 
       uint32_t Up; 
       uint32_t Down; 
       uint32_t Joins; 
       uint32_t JoinFails; 
       uint32_t MissedAcks; 
     } mdot_stats; 

// get current statistics 
// Join Attempts, Join Fails, Up Packets, Down Packets, Missed Acks 

mdot_stats getStats(); 

ので、任意のアイデアは、私は私のmain.cppには、この関数を呼び出すことができますどのように喜ばと値(アップ、ダウンを取得し、参加、JoinFailsとMissedAcks)が表示されます。私は実際にこれを必要とするよう が本当にあなたの助けに感謝..

NOMAN

答えて

0

方法について:あなたは、単に行うことができます利用可能のprintf持っ

mDot::mdot_stats stats = dot->getStats(); 
printf("Number of uplink packets %d\n", stats.Up); 
+0

Janさん、ありがとう、これは私が探していたものです。 – Noman

+0

ようこそ、スタックオーバーフロー!回答があなたの問題を解決した場合は、回答の隣にある「受け入れられた」ボックスをクリックしてください:-)。 –

0

と仮定:

void print(const mdot_stats& stats){ 
    printf("Join Attempts: %d,\t" stats.Joins); 
    printf("Join Fails: %d,\t" stats.JoinFails); 
    printf("Up Packets: %d,\t" stats.Up); 
    printf("Down Packets: %d,\t" stats.Down); 
    printf("Missed Acks: %d,\t" stats.MissedAcks); 
} 

そうでない場合は、組み込み環境でostreamを使用できるほど幸運な場合は、< <演算子を常に上書きできます。

関連する問題