掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
INT64型(64ビット)の値を、上位バイトからstd:basic_string<byte>に代入するには? (ID:73288)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VC++ 2005 Windows XPで開発しています。 例えば、以下のようなINT64 testの値がある場合、std:basic_string<byte> strArrayに上位バイトから、 1a, 2b, 3c, ・・・のように代入したいです。 INT64 test = 0x1a2b3c4d5e6f7g8i; std:basic_string<byte> strArray; // ここで上位バイトからセットしている。 for( int i = 0; i < sizeof(test); i++ ) { char temp = (test >> (8*((sizeof(test)-(i+1))))); strArray.push_back( temp ); } 一応、動作はしているのですが、コンパイル時に ">>":シフト数が負の値であるか、大きすぎます。定義されていない動作です とWarningが出てしまいます。 もっと良い方法があると思うのですが、どなたか教えてください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.