問題タブ [atoi]
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++ - atoi() 変換エラー
atoi() は私にこのエラーを与えています:
この行から: int pid = atoi( token.at(0) ); トークンはベクトルです
どうすればこれを回避できますか?
c++ - 私のatoi()呼び出しの違いは何ですか?
文字列に大きな数が格納されていて、1桁を抽出しようとしています。しかし、それらの呼び出しの違いは何ですか?
これにより、次の出力が生成されます。
桁:7
桁2:2147483647
桁3:57230
最初のものは望ましい結果です。2つ目は乱数のようですが、文字列では見つかりません。3つ目は文字列の終わりですが、予想どおり1桁だけでなく、12番目のインデックスから文字列の終わりまでです。誰かが私にさまざまな出力を説明できますか?
編集:これは許容できる解決策でしょうか?
.net - Cのatoi関数に相当する.NETはありますか?
次のような文字列がある場合:
26に変換したい。文字列の先頭に整数が欲しいだけだ。
Cを使用している場合は、atoi関数を使用します。しかし、.NETで同等のものを見つけることができないようです。
文字列の先頭から整数を取得する最も簡単な方法は何ですか?
編集:あいまいでした。ごめんなさい。文字列内のスペース文字を探す答えは、多くの状況で機能します(おそらく私の場合でも)。.NETでatoiに相当するものを期待していました。答えは「26things」のような文字列でも機能するはずです。ありがとう。
c - C文字列をintに変換する問題
組み込みシステムで入力を解析しようとしています。私はこのようなものを期待しています:
個別の文字列を int に変換しているときに、文字列が 8 で始まる場合、両方とも 0 を返しているようですatoi()
。strtol()
これが私のコードです:
それを渡す:
私のuartデバッグで次のようになります:
アップデート:
「value[i] = atoi(pch);」の前後に inBuffer をチェックしました。それは同一であり、適切なポイントで分割されているように見えます。
更新 2:
私の UARTDEBUG セクションは現在次のようになっています。
行をコメントアウトするとsnprintf()
、すべてが完全に機能します。それで、それで何が起こっているのですか?
c - glib 文字列 (gchar *) の整数を解析するには?
整数値 (の数字) を含む文字列があり、この値を int として取得したいと考えています。これを行うには、次のような他の方法があることを認識していatoi()
ます。ただし、これを行うには glib を使用したいと思います。そのような解析/変換機能は存在しますか?
c++ - c関数atoiが失敗したのか、それともゼロの文字列だったのかを知るにはどうすればよいですか?
関数atoi
(strtol
または同様の関数)を使用する場合、整数変換が失敗したかどうか、または変換されていたC文字列がであったかどうかをどのように判断できます0
か?
私がやっていること0
は、許容可能な値であり、変換されるC文字列には任意の数の0
sが含まれる可能性があります。また、先頭に空白がある場合もあります。
c++ - アイスクリームショップの文字列プログラム (再編集)
他の人の助けを借りて、コードをゼロからやり直しました。これは、多数のエラーや機能しないものを指摘したためです。したがって、コードを大幅に変更しました。
2 つの書式設定以外はプログラムを動作させていますが、動作する方法がわかりません。
出力の上部に「DAILY SCOOP REPORT」を 1 回だけ印刷する必要がありますが、移動しましたが、配列の設定方法が原因で、どこに配置すればよいかわかりません。
これが私のコードです:
含む
含む
含む
含む
含む
名前空間 std を使用します。
int main() {文字列flavor_input、Capitalize; string フレーバー[] = { "チョコレート"、"バニラ"、"ストロベリー"、"ミント"、"ロッキー ロード"、"モカ" }; int scoop_count [6] = { 0, 0, 0, 0, 0, 0}, スクープ = 0, j, k;
}
すべての支援に感謝します。大変感謝しております。
すべての支援と勉強の方向性を教えてくれたおかげで、最後の部分を除いてプログラムを完了できました。
「DAILY SCOOP REPORT」の行を移動したときに、なぜ機能しないのかがわかりました。私はファイルの名前を変更し、それをコンパイルすると、それが意味をなす場合、「最後の作業構成」のようなものを出力していました。そこで、新しいプロジェクトを作成し (.cpp ファイルには提出用の特定の名前が必要です)、コードを入れました。これで、行は一度だけ印刷されます。
以下のコードブロックでは、最初の文字以外のすべての文字の大文字と小文字を区別しているように見えます。私がこのようにケースコーディングを行っている理由は、各単語の最初の文字が大文字で、その後は小文字でフレーバーレポートが印刷されるように指示されているためです。Rocky Road で 2 番目の「R」をキャップする方法を調べますが、空白を無視する以外は、方法がよくわかりません。行を解析する必要がありますか?
私を正しい方向に向けてくれる人は誰でも大歓迎です。
試してみましたが、最初のifステートメントで「構文エラー:識別子 'flavor_input'」というエラーが発生します。
string::iterator it( フレーバー入力.begin());
c++ - atoi の使い方が間違っていますか?
解析関数に問題があったため、実行時に特定の変数の値を伝えるためにいくつかの cout ステートメントを配置しました。atoi が文字を正しく変換していないと思います。
奇妙な動作をしている私のコードの短いスニペットを次に示します。
このステートメントの出力は次のとおりです。
50 digit 0 = '5' number = 52
私はループ内でこのコードを呼び出していますが、最初の 47 文字を正しく変換し、48 文字目には整数の後に 0 を追加し、49 文字目には 1 を追加し、50 文字目には 1 を追加します (見たここでは 2 が追加され、57 番目の文字まで 9 が追加されます。その後、239 番目の文字まで正しく変換されます。
これは奇妙ですか、それとも何ですか?
もう少し明確にするために、関数全体を投稿します。この関数には、空の double 配列 (ping_data) へのポインターが渡されます。
c++ - atoi(str)のセグメンテーション違反
私はC/C ++ゲームに慣れていないので、新人の間違いを犯していると思います。
これはCGIスクリプトであると想定されています。GDB、printステートメントなどでわかる限り、このコードは「cl = atoi(clen);」の行でsegfaultsします。なぜなのかわかりません。K&Rは、これが正しいことを示唆しています。私は基本的に、この行を他の6つのオンラインチュートリアルからコピーしました。そして、それは昨夜働いているようでした!私は完全に困惑しています。
c - atoiが乱数を返すのはなぜですか?
テキストファイル(時間)からデータを読み込もうとしています。それを現在のシステム時刻にDiffTimeできるものに変換します。
私はこれを正しく機能させることに非常に近づいており、味わうことはできますが、解決できない問題に悩まされています。(私はC言語の非常に基本的な知識を持っています)。
このプログラムは、テキストファイルからデータを読み込み、それを2つのchar配列に分割してatoi
から、これを使用して整数に変換しようとします。ただし、2回目のatoi
呼び出しで問題が発生します。
下の2つのprintf
ステートメントから、次のようになります。
しかし、何らかの理由で私はこれらの線に沿って何かを得ています。
いずれかのchar配列の境界を超えてatoi
いるか、char配列が長すぎるか短すぎると思います。いずれにせよ、私は何が起こっているのか理解できません。