プロが教えるわが家の防犯対策術!

 VisualC++6.0において、CStringというオブジェクトがありますよね。
 たとえば、Edit->GetWindowText(str);
 などで、strにEditのさす文字列を入れたりして、そのあとにstrを使って算術演算をするときにどうしてもstrをintかlong型に直したいのです。
 キャストの仕方がよくわからないので、知っている方教えてください。よろしくお願いします。

A 回答 (3件)

LPCSTR で中身をアクセスし、strtol() のような C の関数で処理しましょう。

例えば、

CString cstr;
long l;

l = strtol((LPCSTR)cstr, NULL, 0);

この使い方だと、先に紹介されている atol() と同じですが、strtol() では、数字とみなせない
文字列を渡したときに、エラーの起きている位置を知ることができるので、真剣なプログラムには、
atol() よりは、strtol() の方が向いています。
    • good
    • 0
この回答へのお礼

ありがとうございます。ちなみに、long型やint型からCString型へ変換はどうやるのでしょうか?教えてくださるとありがたいです。

お礼日時:2003/02/24 19:07

> ちなみに、long型やint型からCString型へ変換はどうやるのでしょうか?教えてくださるとありがたいです。



Format() メソッドを使います。

CString cstr;
int i;

cstr.Format("%d", i);

こっちの方は、マニュアルを見れば一発(→参考URL)。

参考URL:http://www.microsoft.com/JAPAN/developer/library …
    • good
    • 1

atoiや


atolでどうでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!