1. ホーム
  2. c++

[解決済み] C++のhtonl関数をいつ、どのように使用するか

2022-02-17 03:19:29

質問

cout << "Hello World !" << endl;

スタックでの最初の投稿は オーバーフロー : をいつ使えばいいのでしょうか? htonl 関数を使用できますか?マニュアルページに目を通しました。しかし、いつ、どのように使うのかがよくわかりません。

どのように解決するのですか?

H オスト TO N etworkの翻訳です。を確認することができます。 エンディアン の32ビットデータ値が、ネットワーク伝送に適した値(ビッグエンディアン)であることを示します。 ntohl -- N エトワーク への H ost -- は、エンディアンが受信機のCPUにとって正しいかどうかを確認するために受信機が使用します。 次のものに注意。 htonsntohs は16ビットを処理するためのものであり、どこかで htonllntohll 64bitの場合。

いずれも、変換したい数値を渡せば、変換後の数値が出てくるというシンプルなものです。プロセッサーによっては、エンディアンがすでに大きいので、まったく何も起こらないということもあります。

uint32_t inval = 0xAABBCCDD;
uint32_t outval = htonl(inval);

ほとんどのデスクトップ・ハードウェアでは、outval が次のように設定されることになります。 0xDDCCBBAA