問題タブ [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.

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

c - Cのatoi関数が正しく機能しない(特定の値を超えた場合)

9桁を超えるnmuberでatoi関数が機能しない理由を誰かが説明してもらえますか?

例えば:

次のように入力すると123456789、プログラムプログラムは次を返します:123456789

ただし、次のように入力すると12345678901 、プログラムは次のように戻ります。-519403114...

0 投票する
5 に答える
191 参照

c - ファイルから数値を読み取り、Cで整数に変換する

FILEとして宣言された変数がありますFILE *finfin = fopen( "points.dat", "r" );宣言後に初期化されます。私はwhileをループしようとしてきましfinfgetc( fin ) != '\n'。これが私が困惑しているところです。

の1行目の各文字をに格納points.datします。char *これを後で呼び出しatoiて整数として格納できます。これはどのようにすればよいですか?試しましたが、セグメンテーション違反やその他の奇妙なエラーが発生し続けます。これが私の最新の試みです:

注:これは、宿題の割り当てではありません。これは、宿題を実際に行う前に、仕事に取り掛かる必要がある非常に小さなことです。

0 投票する
6 に答える
17589 参照

c - atoi()関数を理解する

私はPythonプログラマーで、K&Rの本からCを学びます。これはひどく些細な質問のように思えますが、それでも私は困惑しています。以下に添付されているのは、atoi()関数を実装するK&R(RIP Ritchie!)ブックのコードスニペットです。

私の質問:

1)最初の'for'ループは、有効な文字の数を数える以外の目的を果たしますか?
2)(1)が真の場合、最初のループは「i」の値を有効な文字数に設定します-2番目のforループは、iを0にリセットせずにどのように機能しますか?

たとえば、関数への入力として「2992」と入力するとします。最初のforループはiを3に設定しますが、残りの関数はどのように機能しますか?私は私の基本をすべて台無しにするかもしれませんが、どんな助けでも本当にありがたいです。ありがとう、-クレイグ

0 投票する
4 に答える
550 参照

c - atoi() がバスエラーを引き起こすのはなぜですか?

オンラインで見つけたサンプル コードをいくつか試してみましたが、いずれもバス エラーが発生します。なぜこうなった?

0 投票する
5 に答える
1303 参照

c++ - 1桁の値を返すatoi変換

私はこのような文字配列を持っています:

特定のインデックスに特定の値を格納するためにint配列を使用しています。変換のために私は使用しました

今問題は私の希望する出力です:

そしてコードは私にこれを返します:

その理由は、atoiが文字を見つけるまでスキャンし、atoi(&inputInitial [i])の場合、エラーが発生するまでi + 1、i +2...などを読み取るためだと思います。atoiスキャンを1文字だけに制限したい。それは可能ですか、それとも他の機能を使用しますか?

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

c - プログラム呼び出しの最初の引数を取得する方法

私はCでプログラムを作成していますが、これが私のコードです:

したがって、コマンドラインからプログラムを実行する場合: my_program -23、数値 "23" を取得して整数のような var に分離したいのですが、これは機能せず、理由がわかりません...

0 投票する
1 に答える
780 参照

c - 2D char 配列を構造体に入れる、どこから始めればよいかわからない

私はフォーラムにかなり慣れていないので、混乱しないことを願っています。ファイルから読み取るプログラムがありますが、これまでのところ、ファイルを2D char配列に入れています。2D '文字列' を strtok し、各パーツを構造体に配置する必要があります

ここにコードがあります

私は道に迷ったので、あなたが助けてくれることを願っています EDIT struct processStruct processes[7000]; while(newFile != NULL) { strcpy(processes[count].processNumber, strtok(newFile[count], " \n")); processes[count].quanta = atoi(strtok(NULL, "\n")); processes[count].priority = atoi(strtok(NULL, " \n"));

@Igor で指定された構造体と入力を変更しましたが、実行するとセグメンテーション違反が発生し、-Wall でコンパイルすると readtostring.c: In function 'readSave': readtostring.c:71:3: warning: が発生します。 'strcpy' の引数 2 を渡す際のポインター ターゲットの符号が異なります [-Wpointer-sign] /usr/include/string.h:128:14: 注: 'const char * restrict ' が期待されますが、引数の型は 'unsigned char * です'</p>

0 投票する
1 に答える
999 参照

c - read()を使用して、バッファを文字列に入れます

この問題のために最初の質問に問題があったので、これは私の2番目の質問です。read()ステートメントを使用して読み取らなければならないファイルがあります。fget()やfread()などはありません。この行を使用します。

ご存知のように、fileReadは私のファイル記述子であり、bufferはunsigned charであり、blocksizeはbufferのサイズです(私は32を選択しました)。私の問題は、ファイルが終了するまで実行され、ファイルのバッファー(32)を取得するループがあり、それを文字列に入れる必要があることです。

だから私はあなたがバッファを取り、それを文字列に追加するコードの行を手伝ってくれるかどうか疑問に思っていました(2D配列ではなく、これは良くありません)私は試しました

しかし、構造体に配置するためにstrtokしようとすると、これは機能しません。read()を使用してそのファイルを1つの文字列にする必要がありますか?

その後のstrtokのコードは次のようになる必要があります

ありがとうございました

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

c - atoi — ゼロとエラーの違いを識別する方法は?

http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/

戻り値

成功すると、関数は変換された整数をint値として返します。 有効な変換を実行できなかった場合は、値 0 が返されます。 正しい値が表現可能な値の範囲外の場合、INT_MAX または INT_MIN が返されます。

atoi("poop")atoi("0")との違いatoi("0000000")

はい、結果が 0 の場合にループしてすべてゼロをチェックできますが、もっと良い方法はありませんか?

注意: 私は ANSI C89 を使用しています

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

c - K&R Cブックのatoi機能がわかりませんか?

上記のプログラムでは9、プログラムごとに結果が得られ、9のASCII値が出力されるはずですが、これがforループで何をするのかわかりません。