問題タブ [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.
strtol - strtol を使用した脆弱なプログラム
strtol を含む脆弱な C プログラムについて読んでいたときに、この質問に出くわしました。以下はコードです
この呼び出しstrtol(s, NULL, 10)
は、文字列 s として書き込まれた整数を 10 進数表記で返します。x の値を 10 として出力するには、どのような入力を与える必要がありますか?また、それらの入力を与える背後にある考え方は何ですか?
c - C の strtol() に相当する浮動小数点
strtol
は、入力された文字列 str を 2 ~ 36 の指定された基数の long 値に変換します。strtof()
同様の機能を提供しますが、基数を指定することはできません。同じstrtof
ことを行うが、ベースを選択できる別の機能はありますか?
たとえば、101.101 が文字列として入力されたとします。できるようになりたい
の出力を取得します5.625.
c - 16進文字列を分割して配列に格納できない
この 16 進文字列を分割し、em を変換して、em を配列に格納したいと考えていました。しかし、私の仕事とは何か違うようで、何が何だかわかりません。
この文字列を分割するつもりです
27CA6B
に
ただし、出力は常に最初の文字列のみです。お気に入り
誰か助けてください、これが私のコードです
c - strtol() を使用した 16 進文字列変換で間違った出力が返される
0x8aaaf200
16 進文字列を.に変換する必要がある状況がありuint32_t
ます。最初にローカル マシン (Linux Debian ボックス) でテストしました。
次に、別のマシン (Android ベース) で実行しましたが、驚いたことに、出力は7fffffff
. uint32_t
さまざまなマシンのサイズに関連している可能性があると思います。
誰かがそれを修正する方法について提案がありますか? uin32_t
他の誰かが書いたコードの一部であるため、型の使用法を変更することはできません。
c - strtol を使用した C の文字列関数の引数の解析
私は C に少し慣れていないので、ポインターと逆参照を使用して関数の引数にアクセスする方法についていくつか理解したいと思います。
これが私のコードです。プログラムの要点は、strtol
空白で区切られた2桁のみで特定のパラメーターを解析するために使用することです。
文字列には変数名が付いているため、指定された文字列パラメーターにアクセスする方法が*
わかりません。それを回避する方法がわかりません。
とりあえずありがとう。
c - ユーザー入力を文字の配列に変換し、文字を他の文字からフィルタリングしますか?
SOF初投稿です!このプログラムの目的は、標準入力から EOF までの文字を読み取ることです。文字ごとに、文字かどうかを報告します。文字の場合は、それぞれのインデックスをアルファベットで出力します ('a' または 'A' = 1、'b' または 'B' = 2 など)。私はstackoverflowに関する他のいくつかの投稿を検索してきました. このコードを実行しても構文エラーは表示されませんが、文字列 (例: 567gh3fr) を入力すると、プログラムがクラッシュします。
基本的に、「fgets」を使用して、入力された各文字を適切なインデックスを持つ文字列にしようとしています。その文字列を取得したら、各インデックスに文字があるかどうかを確認し、そうであれば、アルファベットのその文字に割り当てられた番号を出力します。
これが意図したとおりに機能しない理由についてのヘルプや洞察をいただければ幸いです。ありがとうございます。
c - strtol が期待どおりに機能しない
strtol を使用して文字列を long に変換できません。"."
文字列内の数値の前に先頭があると、0 が"."
返されます。strtol がないと、3456
期待どおりに返されます。
c - Objective-c: 継承したこのコードで strtol メソッドが使用されているのはなぜですか?
最近、いくつかの Objective-C コードを継承しましたが、実際に何をしているのか本当に混乱していますか?
char byte_chars[3]
1)最初に「0」が入力され、最後に 0 が入力される 理由がわかりません。
2)なぜ彼らunsigned char
がwholeByteに使用したのか理解できませんが、それにロングを入れましたか?
3) strtol メソッドがここで何をするかについて、私の一部は少し混乱しています。3 byte_chars バイト (16 進数) を取り、それらを long に変換しますか?
gcc - stdlib.h と stdio.h で strtol() を使用した結果が異なる
大きすぎて long に収まらない数値を解析しようとすると、strtol() は LONG_MAX (stdio.h) ではなく 0 を返します。POSIX 仕様を正しく読むと、LONG_MAX になるはずです。stdio.h と stdlib.h には違いがあります
c++ - 「「strtok」の呼び出しに一致する関数がありません」の修正方法
関数 strtok を使用してユーザーからの入力をトークン化し、各単語の間に改行を入れて結果を出力しようとしています。ただし、このエラーがポップアップします。