問題タブ [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++ - 文字列から数値/数値範囲を抽出する複雑なアルゴリズム
私は次の出力を試しているアルゴリズムに取り組んでいます:
指定された値/入力:
char *Var = "1-5,10,12,15-16,25-35,67,69,99-105";
int size = 29;
ここで、 「1-5」は範囲値を示します。つまり、「1,2,3,4,5」と理解されますが、「,」のみの値は個々の値です。
私は最終出力が次のように完全な範囲の出力を与えるようなアルゴリズムを書いていました:
誰かがこの問題に精通している場合は、助けていただければ幸いです。前もって感謝します!
私の最初のコードアプローチは次のとおりです。
ただし、「0-5」または「0,10,15」のいずれかがある場合にのみ機能します。汎用性が上がるのが楽しみです。
c - strtol c 文字列関数
リダイレクトによる入力を使用しています。文字列から整数に数値を格納しようとしています。
最初の数字は 1989 ですが、格納されるのは '1' だけです。strtol を間違って使用していますか?
テーブルは構造体の配列です
value は整数の配列です。
このコードは機能し、1989 年に読み取った後に else if に入ります...しかし、何らかの理由で strtol は「1989」ではなく「1」のみを格納しています。
c++ - C: strtol endptr を使用すると NULL になることはありません。値が整数のみかどうかを確認できませんか?
ここに問題があります。私はあるはずのデータのセットを持っています:
int int int int ....
ただし、 1asdas 2 がある場合は、「asdas」の部分をキャッチできるようにしたいと考えています。ただし、現時点では、1 2 しかない場合、endptr は NULL ではないため、値が数字だけなのか、数字と文字だけなのかを確認できません。これが私のコードです:
ありがとう!
c++ - 32文字のバイナリ文字列から16進数に変換する方法は?
文字列から 16 進数に変換する方法について、オンラインでたくさんのチュートリアルがあることを知っています。さて、私はそれについて問題を抱えています。
私のコード (以下を参照) は最大 31 文字まで機能しますが、その理由が一生わかりません。32 人のキャラクターがいる場合はいつでも、7fffffff で最大になります。
「111111111100000000001010101000」のようなものを入力できるようにする必要があります
どこがわからないだけで簡単に修正できるはずです
私の試み(コンパイル可能):
c++ - 真のストルトゥールのやり方は?実際の文字列を取り込まない
実際の文字列を strtuol に入力する際に問題が発生しました。入力文字列は、32 ビット長の符号なしバイナリ値である必要があります。
明らかに問題がありますが、問題InputString = apple;
を解決する方法がわかりません。何かご意見は?これはそれほど難しくないはずです。なぜそんなに苦労しているのかわかりません。
みんなありがとう。
c++ - 文字列から変換した後に16進値を返す方法
このメソッド内で 16 進値を返そうとしています。どこが間違っているのかわかりません。cout を使用せずに値を 16 進数に入れる方法がわからない。解決策を見つけることができませんでした。入力値は常に 32 ビット長になります
戻りたいのですhex << x
が、それはオプションではありません。
c - strtol が単一のポインターではなくポインターへのポインターを必要とするのはなぜですか?
C 標準ライブラリ ルーチンのプロトタイプは次のstrtol
とおりです。
典型的な使用法:
なぜこのように行われるのですか?ローカル変数のアドレスを渡さないのはなぜですか?
例:
使用法:
この設計上の決定には論理的な理由があると確信していますが、よくわかりません。
c++ - strtollを使用してバイナリ文字列からintに変換しますか?
一連の 2 進数を含むテキスト ファイルから読み取り、それらを整数に変換して配列に格納する必要があります。これを行う関数を作成しましたが、関数は 1 つの数値しか返しません。ファイルを通過していないように見えるか、機能していません。誰でも理由を理解できますか?
前もって感謝します!
c - 文字列日付 ("03/10/2013 14:01:00") から time_t に変換する strtoul
わかりません、なぜこれが機能しないのですか?PS: Google からこのコードを見つけました!
問題: なぜ機能するのかわかりません。これはタイムゾーンも考慮していますか?!