16進形式の倍精度浮動小数点数を表すchar配列があります。char配列のcharをANSI Cの独自のchar配列に変換する
char *hex = ""402499999999999A"
私は、独自のchar型の配列としてhex
内の各文字を抽出し、unsigned int型num
にそれを読んでもらいたいです。例えば、私は
sscanf((char *)&hex[3], "%X", &num);
を試してみました。しかし、これは私に、個々のchar型の配列として第四文字を与えるものではありません、それは私が配列がで与えられているためであると仮定している、私の上の4位からサブchar型の配列を与えます最初の要素のポインタ
これを行うより良い方法はありますか?私はstrcpy
を見て、最初のn個の文字しかコピーできないようですので、それは良いことではありません。
質問を洗練できますか?私はあなたが個々のchar配列とサブchar配列の意味を混乱させています。文字列はcharの配列であり、要素をインデックスするとその要素が与えられますが、その要素へのポインタを与えるアドレスを取得していることがわかります。あなたは正確に何をしたいのですか? –
さて、char配列は、最初の要素への(const)ポインタで識別されます。だから(char *)&hex [3]を実行することで、char配列 'hex 'の4番目の要素のポインタを取得しています。私はこれが私に個々のchar配列としての4番目のcharを与えるだろうと考えていましたが、代わりにこれが私にサブchar配列 'hex [4 to end]'を与えました。 –