まず、これがすでに尋ねられて解決されている場合は本当に申し訳ありません.必要なものを提供するためにコードサンプルを検索して適応させるのに何年も費やしました...しかし残念ながら役に立ちませんでした. 基本的に、ある構造体の内容を別の構造体にコピーしようとしているだけです (これは他の場所で文書化されていますが、動作させることができません)。
スキャナは、バーコードを読み取るときに次の構造体を設定します。
struct barcode
{
char *text;
int length;
int id;
int min;
int max;
};
これは次のようにインスタンス化されます。
static struct barcode code = {0};
同じタイプの別のものをインスタンス化します。
struct barcode *barcodeHolder;
これは、スキャンしたバーコードのコピーを保存するためのものです。これは、数字や段階 (終了、開始など) を示すバーコードなど、他のステップを示す他のコードがスキャンされるためです。構造体の内容をディスクに書き込みたい場合は、構造体の「コピー」を使用します。
ただし、char *text プロパティは、バーコードの値ではなく、常に「c」と等しくなります。
次のようにコピーします。
barcodeHolder = malloc(sizeof(code));
barcodeHolder->text = malloc(strlen(code->text) + 1);
strcpy(barcodeHolder->text, code->text);
barcodeHolder->id = code->id;
barcodeHolder->length = code->length;
barcodeHolder->max = code->max;
barcodeHolder->min = code->min;
これは、同様のトピックに関する他の投稿から得たものです。
しかし、私は明らかに愚かなことをしており、構造体テキスト要素の私のコピーが実際に正しい値をコピーするように、誰かが提供できる助けを歓迎します。
ありがとうございました!