問題タブ [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.
c - Cで16進数の文字列を整数に効率的に変換しますか?
C で、16 進数の文字列をバイナリunsigned int
またはに変換する最も効率的な方法は何unsigned long
ですか?
たとえば、 がある場合0xFFFFFFFE
、int
base10 値の が必要です4294967294
。
c - 文字列を int に変換します (ただし、実際に int の場合のみ)
大学では、コマンドライン引数から入力された文字列が整数であるかどうかをプログラムが検出するかどうかを尋ねられましたが、そうではありませんでした( ./Program 3.7
)。今、私はこれをどのように検出できるのか疑問に思っています。そのためa
、atoi が検出した例のような入力は無効ですが、たとえばのような入力は無効である3.6
必要がありますが、atoi はこれを整数に変換します。
しかし、もちろん、argv[1] が実際に整数である場合にのみ、ok を出力する必要があります。私の質問が明確であることを願っています。どうもありがとう。
c - コマンドラインからプログラムに16進数を取得する
私がすることができます:
しかし、コマンドラインを介してプログラムに16進数を取り込む正しい方法は何ですか?
unsigned char cTest = argv[1];
トリックをしません。これにより、キャスト警告なしでポインタから整数になる初期化が生成されます。
c++ - strtol の結果を int にキャストする必要がありますか?
次のコードは、g++ 4.1.1 および-Wall
.
strtol が a を返すため、警告が表示されることを期待していましたlong int
が、関数はプレーンのみを返しますint
。他のコンパイラがここで警告を発する可能性はありますか? この場合、戻り値を int にキャストすることをお勧めしますか?
c - atol() v/s. strtol()
atol() と strtol() の違いは何ですか?
彼らのマニュアルページによると、それらは同じ効果と一致する引数を持っているようです:
一般的なケースで、引数を使用したくない場合base
(10 進数しかない場合)、どの関数を使用すればよいですか?
c - ファイルから整数を読み取る
ファイルから整数を読み取ることを想定したコードがあります。しかし、実際にはキャラクターとして読んでいます。整数を配列に読み込むことができるいくつかの変更を提案してください。
前もって感謝します
アミット
c - 数値入力のセグメンテーション違反
初めて C でプログラムを書いていますが、多くの問題が発生しています。かなり単純です。数値を入力すると、最初と 2 番目の項が 1 であるフィボナッチ数列の対応する項が出力されます。入力として数値以外を入力しない限り、最初は機能していました。文字または特殊文字が原因でセグメンテーション違反が発生しました。これを修正するために、数値以外の入力をすべて拒否しようとしましたが、これを行う関数が見つからなかったため、独自に作成しました。残念ながら、数値入力が与えられるとセグメンテーション違反が発生し、数値以外の入力はすべて 26 として読み取られます。
コンパイラである gcc とペダンティックな警告は、私のコメントについてのみ不平を言います。GDB を使用して、セグメンテーション違反を次のように絞り込みました。
問題を特定し、次回それを回避するための助けをいただければ幸いです。
コード:
c - Cでstrtoulを使用する
Cでは、なぜですか
strtoul(argv[1])
うまくいかない?より多くのパラメータが必要なようですが、その数がどれだけ長くなるかを防ぐことはできません。
ありがとう!
ps(argv [1]は適切に設定されています)。
c - C - 数値文字列の比較
プロの好奇心から、C で 2 つの完全な数値文字列を比較する最も安全/最速/最も効率的な方法は何ですか?
c++ - std::atoll と VC++
std::atoll
fromを使用して文字列をgcccstdlib
に変換しています。int64_t
その機能は、Windows ツールチェーン (Visual Studio Express 2010 を使用) では利用できないようです。最良の代替手段は何ですか?
strings
への変換にも興味がありuint64_t
ます。から取得した整数定義cstdint
。