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

解決


空-海  2006-12-22 01:11:09  No: 64039

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


Blue  2006-12-22 01:14:38  No: 64040

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

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


Blue  2006-12-22 01:16:23  No: 64041

typo orz

>sscnaf
sscanf

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

foo = ( DWORD )"123";


空-海  2006-12-22 01:30:15  No: 64042

>Blue様

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


Blue  2006-12-22 01:35:39  No: 64043

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加