memcmp の 3 番目の引数は、sizeof() 型である必要があります。私はこのコードを次のように読みました
memcmp(st.magic, "outpt_01",sizeof(st.magic)) == 0 && st.version == 0 )
はst
構造体です。
上記の呼び出しの 3 番目のパラメーターの型は何ですか? それは何をしているのですか?
memcmp の 3 番目の引数は、sizeof() 型である必要があります。私はこのコードを次のように読みました
memcmp(st.magic, "outpt_01",sizeof(st.magic)) == 0 && st.version == 0 )
はst
構造体です。
上記の呼び出しの 3 番目のパラメーターの型は何ですか? それは何をしているのですか?
上記の呼び出しの 3 番目のパラメーターの型は何ですか?
size_t
比較するバイト数。
それは何をしているのですか?
if (sizeof(st.magic) == 0 && st.version == 0)
memcmp(st.magic, "outpt_01", 1);
else
memcmp(st.magic, "outpt_01", 0);
@JoachimPileborgが指摘したように、タイプミスがあります:
memcmp(st.magic, "outpt_01",sizeof(st.magic)) == 0 && st.version == 0 )
-------------------------------------------------- ----------------------^ 余分な閉じ括弧
または、次のような条件の一部です (より理にかなっています):
if (memcmp(st.magic, "outpt_01",sizeof(st.magic)) == 0 && st.version == 0) {