プロが教える店舗&オフィスのセキュリティ対策術

123と表示されたいんだけど、コンパイルエラーです。
この場合、atoiの引数して、str[3]の文字を入れる変数をもう1つ用意するしかないですか?
キャストでうまくできる方法があったら教えてください。
strという変数の"abc123"という文字は変化させたくないんです。

#include <iostream.h>

main(){
 int i;
 char str[] = "abc123";

 i = atoi(str[3]);
 printf("%d\n", i);
}

A 回答 (1件)

>char str[] = "abc123";


>i = atoi(str[3]);

atoiの引数にはアドレスを渡す必要があります。

atoi(&str[3]);


atoi(str[3])だと、str[3]にはアスキーコードの'1'が
入ってるので、何が変換されるかわかりませんよ。
そもそも引数の型エラーでコンパイルできませんが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/12/15 15:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!