私が次のものを持っている場合:
char id[5]="1";
IDを整数として使用したいのですが、最初に変換する必要があり (int)id
ますか、それともその文字列の値を使用するだけで十分ですか?
私が次のものを持っている場合:
char id[5]="1";
IDを整数として使用したいのですが、最初に変換する必要があり (int)id
ますか、それともその文字列の値を使用するだけで十分ですか?
いいえ...次のような関数呼び出しを使用して変換する必要がありますint n = atoi( id )
char配列はまさに... charの配列です...あなたが考えている意味では数値ではありません。関数呼び出しを使用して、値の文字列表現から探している実際の数値整数値に変換する必要があります。
atoiを使用して、文字列を整数に変換できます。
char id[5] = "1";
int n = atoi(id); // n = 1
C は、文字列と数値データの間の型変換を提供しません。
文字列から int に変換するには、atoi
or (より良い)を使用する必要がありますstrtol
。
strtol
入力文字列が数値に変換できない場合に未定義の動作が発生せず、次のようなケースを検出して"42xyz"
正しく反応できるため、より優れています。