タスクに関する一般情報:
バイト配列(パッケージを表す)を取り、それを解析し、いくつかの処理を実行して、変更されたバイト配列を返すC言語で関数を作成する必要があります。
私のアプローチ:
"filename.h"
char* ParsePackage(const char* byteArray);
typedef struct
{
char name[4];
float value;
} packageStructure;
byteArrayがキャストされるstructpackageStructureを使用し、そのstructのフィールドにアクセスしてデータを取得しようとしています: "filename.cpp"
include "filename.cpp"
char* ParsePackage(const char* byteArray)
{
packageStructure* tmp = (packageStructure*) byteArray;
// get values of structure fields and do some staff with them:
tmp->name;
tmp->value;
return (char*)modifiedByteArray;
}
バイト配列からのデータ全体が構造体の最初のフィールド(名前)に書き込まれ、2番目のフィールドにランダムな値が書き込まれるため、結果に満足できません。
ここで予想される質問は次のとおりです。私が間違っていること(アプローチを変更して機能させる方法)?バイト配列を解析する他の方法を提供できますか?
前もって感謝します!