memcpyを使用して構造体をchar配列に変換する

CSharper

次の構造体をchar配列に変換して、シリアルポート経由で送信できるようにしようとしています。

struct foo
{
    uint16_t voltage;
    char ID ;
    char TempByte;
    char RTCday[2];
    char RTCmonth[2];
    char RTCyear[2];
    char RTChour[2];
    char RTCmin[2];
    char Sepbyte;   
}dvar = { 500, 'X' , '>' , "18" , "10" , "15" , "20" , "15" , '#'};

次に、以下を使用してそれをchar配列に変換します。

char b[sizeof(struct foo)];
memcpy(b, &dvar, sizeof(struct foo));

ただし、何らかの理由で、char配列にこれらの末尾の値を取得します

0x0A 0xFF

最初は値を取得していると思っていました。char配列にキャストすると、効果的に文字列にキャストされていたので、NULL '\ 0'でしたが

どんな助けでもありがたいです。

ありがとう

FrancTheTank

私はあなたが8ビットマイクロコントローラーを使用しているという卑劣な疑いを持っています!あなたは、印刷してデバッグすることができb[sizeof(foo)]、そしてb[sizeof(foo)+1]これらはあなたの2つの文字になります。お気づきの方は、これらを参照するべきではありません。char配列の範囲外です。例:n要素配列[0 ..(n-1)](構造体からコピー)

未使用の要素を構造体に追加する(または最終メンバーのサイズを大きくする)と、char配列を終了できます '\ 0'-コンパイラーはおそらくこれを実行したいと考えています。

または、@ Melebiusが示しているようにポインタの割り当てを行います。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

scipy.io savematを使用して複数のPython辞書をMATLAB構造体配列に変換します

配列フィールドを使用してpostgres行をgolang構造体に変換します

構造体変数の配列を使用して構造体にアクセスする

map / reduce関数を使用して1つの構造体を別の構造体に変換する

構造体の配列を文字列に変換するPyspark

hydrasを使用して構造体の配列を定義する

char配列を含む構造体でmemcpyが失敗する

構造体を構造体配列に変換するMatlab関数

char配列を使用して構造体ポインタを初期化する

CのMemcpy-forループで配列を使用してから構造体に割り当てる

memcpyを使用して配列からintに変換する

「=」を使用して、内部にchar配列を含む構造体を割り当てますか?

mallocを使用して構造体の配列をmallocする方法

Retrofitを使用してjson構造を配列に変換する

構造体を使用してPascalスタイルの文字列をC型に変換する方法

Matlabの構造体配列をセル配列に変換します

構造体のセル配列をセル配列に変換する方法

MATLABを使用してchar配列を文字列に変換する

memcpyを使用して構造体の配列を初期化する方法

構造体配列を構造体のセルに、またはその逆に変換します。

構造体を使用してJSONを配列に変換する

構造体ポインタ-ポインタを使用して構造体の配列にアクセスする

char配列を構造体に変換する際の問題。構造体のchar配列変数がオーバーフローします

char配列を時間構造に変換します

CGOを使用して構造体のGoネスト配列をCに変換しますか?

文字列を構造体配列に変換する方法

pysparkで配列の配列を構造体の配列に変換します

この例でmemcpyを使用してuint8_t *パラメーターを構造体に変換するのはなぜですか?

構造体を作業配列に変換する方法C

TOP 一覧

  1. 1

    Oracle11gクライアントを使用したOracle19Cサーバーへの接続

  2. 2

    Ansibleで複数行のシェルスクリプトを実行する方法

  3. 3

    Reactでclsxを使用する方法

  4. 4

    Python / SciPyのピーク検出アルゴリズム

  5. 5

    小さいデータセットサイズと大きいデータセットサイズを使用するMPI_Gatherを使用したMPI_Barrier?

  6. 6

    フィルタスライダーで複数の範囲を選択します-Tableau

  7. 7

    MariaDBによるデータベースの破損:テーブルがエンジンに存在しません

  8. 8

    複数の条件でループを構築する

  9. 9

    Google Cloud Storage から単一ページの React アプリを提供する

  10. 10

    Hide textOutput() when un-click row of a DT::datatable in shiny app

  11. 11

    JavaのREST APIの認証、JWTとベストプラクティス

  12. 12

    Angular 9 TypeError:未定義のプロパティ「subscribe」を読み取れません

  13. 13

    JavaからのMATLAB関数によりランタイムエラーが発生する(EXCEPTION_ACCESS_VIOLATION)

  14. 14

    Eclipseに既存のJavaプロジェクトをインポートしますが、JFrameのデザインビューが存在しませんか?

  15. 15

    Openlayers 3 : Interaction DragBox が機能しない

  16. 16

    print( "\ 0007")がビープ音を鳴らさないのはなぜですか?

  17. 17

    なぜArrays.copyOfは2倍高速System.arraycopyのより小さなアレイ用のでしょうか?

  18. 18

    App Engineクイックスタートから「helloworld.go」をアンデプロイし、代わりにバケット内のhtmlをポイントするにはどうすればよいですか?

  19. 19

    LaravelはDB接続を自動的に閉じますか?

  20. 20

    グラフ(.PNG)ファイルをエクスポートするZabbix

  21. 21

    Eclipseエラー:ビルドパスが不完全であると表示されます

ホットタグ

アーカイブ