char*に格納した10進数文字列をDWORDに変換するには?

解決


空-海  2006-12-21 16:11:09  No: 64039  IP: 192.*.*.*

はじめまして.C++ではなくCで実装を行っているのですが,
char* hoge;
DWORD foo;
hoge = "123";
とした際に,DWORD型のfooにhogeの10進文字列の"123"を代入するにはどのようにすればよいのでしょうか?初歩的な質問で申し訳ございませんが,ご教授お願いします.

編集 削除
Blue  2006-12-21 16:14:38  No: 64040  IP: 192.*.*.*

>DWORD型のfooにhogeの10進文字列の"123"を代入する
??
数値型に文字列を表す値を入れるのでしょうか?
数値の 123 をいれるのでなくて?


数値の 123 をいれるのであれば、
DWORDということで、stdoulかsscnafが最適でしょうか。
使い方は調べてください。

編集 削除
Blue  2006-12-21 16:16:23  No: 64041  IP: 192.*.*.*

typo orz

>sscnaf
sscanf

数値じゃなくて文字列を入れるなら、キャストするしかないでしょう。
(C++でいうreinterpret_cast)

foo = ( DWORD )"123";

編集 削除
空-海  2006-12-21 16:30:15  No: 64042  IP: 192.*.*.*

>Blue様

ありがとうございます.
こちらの説明が下手で申し訳ございません.
sscnafを使うことで解決できました.

編集 削除
Blue  2006-12-21 16:35:39  No: 64043  IP: 192.*.*.*

(´△` )アー、こっちも間違えている、、、

>stdoul
strtoul
# strtodとまざったぽい

編集 削除