2016-12-09 37 views
0

Iのような文字列に整数に変換したい:atoi()とは逆の機能ですか?

char b[6] = "12345" 

int a = 12345 

隠れ家整数に文字列を変換ATOI機能の基本的に反対。

+0

「%d」のsprintf()? – bwoebi

+0

'char b [5]' - > 'char b [6]'以上 – BLUEPIXY

+0

'char * t = s + sizeof(s); * - t = 0; do {* - t =(n%10)+ '0'; n = 10; } while(n); '(ネガのテストを追加する)、文字列番号は' t'にあります。 –

答えて

3
#include <stdio.h> 
int sprintf(char *str, const char *format, ...); 

char str[10]; 
sprintf(str,"%d", 12345); 
+0

署名ありがとうが、どのように使用するのですか? –

+0

char str [10]; sprintf(str、 "%d"、12345); – vonzhou

-2

itoa()を使用してください。それはトリックを行う必要があります(一部だけコンパイラがそれを持っている)

+2

標準ではありません... –

+0

@ringøどういう意味ですか? – Heatblast016

+0

[これは私の意味です](http://stackoverflow.com/questions/8257714/how-to-convert-an-int-to-string-in-c) –

2

ソース:。Here

のchar * itoaは(int型の値、するchar * strの、int型のベースを)

を文字列に変換する(非標準機能)整数値をに変換する指定された基数を使用してヌルで終わる文字列を返し、strパラメータで指定された配列に結果 を格納します。

baseが10で値が負の場合、結果の文字列の前にマイナス記号( - )の が付きます。他のベースでは、値は常に とみなされます。基数= 2、すなわち、16ビットプラットフォームで17バイト、32ビットプラットフォームで(のsizeof(INT)* 8 + 1):

STRは、十分な長さの任意の可能な値を含むようにアレイであるべきです。

しかし、ANSI-Cで定義されていないいくつかのケースのための標準に準拠した代替のsprintfてもよいC++

の一部ではない。

  • のsprintf(STR、 "%のD" 、value)は10進数に変換されます。
関連する問題