スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net (466レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

328
(3): 2018/02/16(金)01:33 ID:Ja2iVc8/(1/3) AAS
構造体の、一部のみゼロ埋めする方法を知りたいです
CコンパイラはMingw-win32のgcc 6.3.0を使ってます

struct aaa_tag{
 uint32_t a;
 uint32_t b;
 uint32_t c;
   :
 uint32_t z;
}
という構造体に、fread(&aaa, sizeof(aaa), 1, fp)でファイルから値を読み込んでいるのですが
省9
334: 2018/02/16(金)20:28 ID:Ja2iVc8/(2/3) AAS
328です
皆様情報ありがとうございました
構造体先頭から末尾までのmemsetとは事情が違うということが分かりました

offsetof()やダミーの構造体など、方針を見直します

ありがとうございました
340
(1): 2018/02/16(金)23:47 ID:Ja2iVc8/(3/3) AAS
>>335
アライメントについては、OS、アプリ共に32ビットであり、
メンバも32ビットに揃える(パディングはさせない)ように
考慮されてはいるので、無効にしてみましたが変化はなさそうです

__attribute__ ((packed))付与有無でsizeof(aaa)としてみましたが、
どちらも4バイト×メンバ数となり、やぱりパディングは
されていないのかなと

>>336
構造体は、パディングに関わらず先頭以外の場所へmemsetやmemcpyで
触ってはならないのだろう、という思いに至り、方針を見直そうと思ったのですが
省2
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s