問題タブ [strtol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1808 参照

c++ - 4バイトの16進文字列を整数に変換

MFC プロジェクトで 16 進文字列から整数への変換を試みています。コードは次のようになります。

sMask 変数が小さい場合、コードは正常に機能していましたが、4 バイトのマスクが奇妙な値を生成しています。4294967264 の代わりに、2147483647 を取得しています。これを克服する方法。助けてください。

0 投票する
0 に答える
1364 参照

32bit-64bit - 32 ビット マシンと 64 ビット マシンでの Strtol 実装の動作の違い

strtol() 関数の実装の記述に問題があります。問題は、64 ビット マシンでコンパイルしたところ、出力は正しかったのですが、今日、32 ビットの別のマシンでチェックしたところ、何か問題が発生したことです。32 ビット マシンでは、たとえば文字列 "7FFFFFFF" が範囲外であるという結果が示されましたが、64 ビットでは、標準関数と同じように strtol が成功しました。errno の値も確認しましたが、32 ビット マシンの場合は ERANGE に設定されていますが、64 ビットではありません。あなたの実装が異なる文字列に対して標準のものと同じ出力を与えるかどうかをチェックするプログラムがあります。バグの可能性を探すのに数時間費やしましたが、アイデアがありませんか? 任意のヒント?

0 投票する
2 に答える
1496 参照

c - char 配列に格納されたバイトに strtol を使用する

char 配列から 2 番目と 3 番目のバイトを抽出し、その値を整数として解釈しようとしています。この場合、0x01 と 0x18 を抽出し、その値を strtol を使用して 0x118 または 280 (10 進数) として解釈します。しかし、出力 act len は 0 を返します。

出力:

ここで何が欠けていますか?助けていただければ幸いです。

0 投票する
2 に答える
462 参照

c - C の char* からの数値の合計

からいくつかの異なる数値を合計する必要がありchar*ます。

char は"12,38,40"、結果が 90 の場合のようなものですが、結果"12/5?10,-20"が 7 になる場合もあります。

私がすでに持っているコードは次のとおりです。

負の数を除いてすべてを完全に処理し、 を無視し-て 10 を加算します。

これを修正する方法を知っている人はいますか?私はそれを理解することができません。