私はちょうどCプログラミングの初心者です。プログラミングの課題を解決しながら、unsigned char
の配列をinteger
に変換する必要が出てきました。例については文字の配列を整数に変換するにはどうすればよいですか?
:
unsigned char x[]="567";
unsigned char y[]="94";
今、私はx
とy
の両方に整数値を追加する必要があります。つまり、
int sum=661;
これを行う最も簡単な方法は何ですか?
私はちょうどCプログラミングの初心者です。プログラミングの課題を解決しながら、unsigned char
の配列をinteger
に変換する必要が出てきました。例については文字の配列を整数に変換するにはどうすればよいですか?
:
unsigned char x[]="567";
unsigned char y[]="94";
今、私はx
とy
の両方に整数値を追加する必要があります。つまり、
int sum=661;
これを行う最も簡単な方法は何ですか?
あなたが探しているのはatoi()
です。
標準ライブラリを使用する場合は、少なくとも2つのオプションがあります。最初はatoi()
の機能からstdlib.h
であり、2番目はsscanf()
の機能からstdio.h
です。
ATOI()
char number_string[] = "47";
int number;
number = atoi(number_string);
のsscanf()
char number_string[] = "47";
int number;
int return;
return = sscanf(number_string, "%d", &number);
/* it would be good idea to check the return value here */
sscanf()
はあなたに優れたエラー処理を提供します:ここで
がその例です。 sscanf()
の戻り値は、いくつの項目が正常に読み取られたか(いくつの変数が満たされたか)を決定します。入力が失敗した場合は、EOFが返されます。
atoi()
は、有効な変換が実行できない場合は0を返します。
この方法で格納された任意の大きな数値を処理する予定がない限り。そして、あなたは*あなたが小学校で学んだ... –
はしかし、atoi関数を使用して、私はこのエラー」のconst char型にはunsigned char *を変換できません得たように、小数点がアド・アンド・キャリー実装する必要が – James
あなたは離れてunsignednessキャストすることができます;。それは」doesnの文字を格納するために 'char'を使用する場合、T(バイトとは対照的に)多くの意味。 –