2010年05月20日

C++ ファイルバイナリ出力 サンプルコード memcpyの使用法。

C++においてfloatをバイナリ入出力することが必要になり、学習したのでメモ。

//////////////////////////////////////////////////////
float f;
f=-3.14/100;
cout<<f<<endl;

char fw[4];
memcpy(fw,&f,sizeof(float));
//char fw[]<float <f

ofstream ofs( "floatio.bin" ,ios::out|ios::binary) ;//output
ofs.write(fw,sizeof(float));
ofs.close();
//file<<char fw[]

char fr[4];
ifstream ifs( "floatio.bin" ,ios::in|ios::binary) ;
ifs.read(fr,sizeof(float));
//char fr[]<<file

float f2;
memcpy(&f2,fr,sizeof(float));
//float f2<<char fr[]

cout<<f2<<endl;

float f3;
memcpy(&f3,&f2,sizeof(float));
//float f3 << float f2;

cout<<f3;

///////////////////////////////////////////

出力結果
-0.0314
-0.0314
-0.0314
posted by hougi at 13:10| Comment(8) | 仕事 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
この使い方はおかしいですよ。
char[]にコピーするのが無駄な処理です。
速度が低下しまし、メモリも余分に使いますし、ソースも無駄に大きくなって読みにくいです。
直接、float型を書き込めば一回ですみます。

float f;
ofs.write((char *)&f,sizeof(float));

が普通の使い方です。
二度手間の無意味な代入はやめましょう。
Posted by n at 2010年07月20日 15:50
全くおっしゃる通りです。ありがとうございます。
Posted by ひらた at 2010年08月21日 14:10
達人ネットショップは大手ファッションのネットショップです.バーバリー コート,バーバリーレディースコート,バーバリー メンズ コート,バーバリーバッグ,バーバリーベルト,バーバリー 時計,バーバリー 靴,バーバリーシューズ,バーバリーマフラー,バーバリー サングラス,モンクレール ダウン,モンクレール ダウンレディース,モンクレール ダウンメンズ,バーバリー ネクタイを販売しています.価格特恵、只今、全品無料になっております.お買い得ですよ.
バーバリーコート http://www.burberrymore.com
バーバリーベルト http://www.burberrymore.com/7--
バーバリーマフラー http://www.burberrymore.com/10--
バーバリー時計 http://www.burberrymore.com/11-watches
バーバリー靴 http://www.burberrymore.com/9--shoes
モンクレール ダウン http://www.burberrymore.com/17-downjacket
モンクレール ダウンレディース http://www.burberrymore.com/20--
モンクレール ダウンメンズ http://www.burberrymore.com/19--
Posted by モンクレール ダウンメンズ at 2012年01月11日 17:00
世界一有名な偏光サングラス安いのRay Ban/レイバン 通販.レイバン メガネ,レイバン サングラス,レイバン 伊達メガネ,レイバン メガネフレーム,レイバン サングラス スポーツの販売。
Ray Ban/レイバン 通販:http://www.raybans.jp
レイバン サングラス:http://www.raybans.jp/category-1-b0.html
レイバン ウェイファーラー:http://www.raybans.jp/category-2-b0.html
レイバン 偏光サングラス:http://www.raybans.jp/category-3-b0.html
Posted by レイバン at 2012年02月20日 16:48
ANNA SUI/アナスイのアナスイ 財布/アナスイ ポーチ,アナスイ 傘/アナスイ 日傘,アナスイ 洋服/ドーリーガール,アナスイ チーク/アナスイ ブラッシャー,アナスイ バッグ,ANNA SUI トートバッグのアナスイオンライン正規通販ショップ!
ANNA SUI/アナスイ:http://www.fashionworld.jp
アナスイ 通販:http://www.fashionworld.jp
アナスイ 財布:http://www.fashionworld.jp/category-58-b0.html
アナスイ バッグ 通販:http://www.fashionworld.jp/category-73-b0.html
アナスイ 傘:http://www.fashionworld.jp/category-75-b0.html
Posted by アナスイ at 2012年02月20日 16:49
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。