gpt4 book ai didi

在 C 中使用 memcmp 比较结构的一部分

转载 作者:太空宇宙 更新时间:2023-11-04 04:34:21 25 4
gpt4 key购买 nike

<分区>

我有 2 个相同类型的结构,想比较它们。该结构的大小为 420 字节,我想在进行比较时跳过前 2 个字节,因为我知道它们永远不会匹配。我正在使用 memcmp 如下:

` typedef struct foo    // total of 420 bytes
{
char c1,c2 ;
int x ;
struct temp y ;
... // lot of other members
...
...
} ;
foo f1, f2 ;

memset (&f1, 0xff, sizeof(foo) ) ;
memset (&f2,0xff, sizeof(foo) ) ;

update_foo(&f1) ; // function which updates the structure by reading value from flash memory

// Now compare 2 structures starting with value x
if ( memcmp(&f1.x, &f2.x, sizeof(foo)-2 ) == 0 )
// Do something
else
// Do something else`

比较的结果给了我随机值。我假设当我传递“&f1.x”和“&f2.x”时,我跳过了前两个字节,比较的是剩余的 418 个字节。这个假设是否正确?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com