• ベストアンサー

atoi

123と表示されたいんだけど、コンパイルエラーです。 この場合、atoiの引数して、str[3]の文字を入れる変数をもう1つ用意するしかないですか? キャストでうまくできる方法があったら教えてください。 strという変数の"abc123"という文字は変化させたくないんです。 #include <iostream.h> main(){  int i;  char str[] = "abc123";  i = atoi(str[3]);  printf("%d\n", i); }

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

>char str[] = "abc123"; >i = atoi(str[3]); atoiの引数にはアドレスを渡す必要があります。 atoi(&str[3]); atoi(str[3])だと、str[3]にはアスキーコードの'1'が 入ってるので、何が変換されるかわかりませんよ。 そもそも引数の型エラーでコンパイルできませんが。

A__
質問者

お礼

atoi(&str[3]); でした。

すると、全ての回答が全文表示されます。

関連するQ&A