2011-01-15 24 views
2

私はこれをやろうとしていましたが、良いソースが見つかりませんでした。C++ char配列をintに、intをchar配列に

基本的には、char *変数(バイト配列)をintに変換したいと思います。おかげさまで

+2

配列の内容をどのように処理するかを指定しないので、質問はあいまいです。ポインタのキャスト、文字列の変換、バイト配列の8ビット整数としての処理など、少なくとも3つの解釈があります。 –

答えて

1

次の操作を行うために必要以上

。技術的には、これはUBですが、バイトが適切な形式であることがわかっている場合は、通常、要求しているものと正確に一致します。

これは、char * STRINGとchar * BYTE ARRAYの違いに注目しています。

2

文字列を整数に変換するには、atoi関数とsprintf関数を別の方向に使用することができます。

UPDATE(コメントを参照してください):あなたは、reinterpret_castはを使用することで十分であるint型にバイト配列に変換しようとしている場合

char *word = "Hello world"; 
int ints[11]; 
for(int i=0; i<strlen(word); ++i) 
     ints[i] = (int)word[i]; 
+0

私はビットごとの演算子を話していました。変換のような文字列ではありません。 – SBSTP

+1

どういう意味ですか?どのような種類のデータがchar *にあるのかの例と、どのような種類のintで終わると予想されるのかが分かります。この場合の「ビット演算子」は意味をなさないと思われるので、質問は不明瞭でなければなりません。 –

+0

まあ、ファイルの4バイトを読み込んだとします。それらはchar *に格納され、intにしたいと思います。私はintをcharに変えたいと思っています[4]。数値を数値の文字列値に変換しません。 – SBSTP