2017-11-09 11 views
-4

私はこのC++プログラミングの初心者です。私は親切にこの質問と混乱します。 "const char str []"がある場合、これをどのように整数値で返すことができますか?Charの数字を整数値に変更するには

for(int i=0; i<size; i++) 
    { 
     n = rand() % 98 + 1; 

     str [i] = n + '0'; 
    } 

私はstr [i] = n -'0 'を実行する必要がありますか? この文字数字を整数値で返すにはどうすればよいですか?

+3

[C++で文字列をintに解析する方法は?](https://stackoverflow.com/questions/194465/how-to-parse-a-string-to-an-int-in- c) – Johan

+0

http://www.cplusplus.com/reference/cstdlib/strtol/ – mdewit

+0

forループでn + '0'を実行するのではなく、反対方向にするだけで、n - '0'を実行します –

答えて

0

まず、strがconst char[]として宣言されている場合は、strの内容が一定であることを意味します。したがって、それを変更することはできません。 const_cast strを試すことができますが、通常は悪い考えです。

第二に、あなたは、単にint変数にごchar変数を割り当てることにより、intcharを変換することができます。

char c = 'a'; 
int c_value = c; 

あなたはconstの-correcteness hereについて、およびタイプキャストhere詳細inforationを見つけることができます。

関連する問題