C言語なら、俺に聞け! <10>
■ このスレッドは過去ログ倉庫に格納されています
0025もふ
NGNGなるほど、0xffと & を取ればエンディアンに関係なくいちばん「桁」の
小さいところのバイトを取れるんですねー。
いちおう、こんなのでやってみます。。。
int read_mydata( FILE *fp, mydata *dp ){
if( read_int( fp, &(dp->x) ) == 0 ) return 0;
if( read_long( fp, &(dp->y) ) == 0 ) return 0;
return 1;
}
int read_long( FILE *fp, long *l ){
int i, c;
*l = 0;
/* 32bitまで */
for( i=0; i<4; i++ ){
if( ( c = fgetc( fp ) ) == EOF ){
return 0;
}
*l |= c;
*l <<= 8;
}
return 1;
}
■ このスレッドは過去ログ倉庫に格納されています