文字列を数値に – プログラミング – Home

通知
すべてクリア

文字列を数値に


おうち
 おうち
(@おうち)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

お世話になります。

2003.net MFC ダイアログベースで開発しています。

テキストボックス(エディットコントロール)に8桁の数値(年月日)を入力し、
OKボタンクリックで年月日チェックをしたいと思っています。
そこでアドバイスをいただきたいのですが、
CString型で入力内容を取得したあと
(8桁入力されている事が前提で)文字列を4・2・2へばらばらにし、
数値へ変換するにはどうすればよいのでしょか?

CString str;
int year;
int mouth;
int day;

m_edit.GetWindowText(str); //m_editは年月日が入力されている
//テキストボックスのコントロール変数

****ここでばらばらにし、数値へ変換したい****

年月日チェックをする

初歩的な質問でお恥ずかしいのですが、よろしくお願い致します。


引用解決済
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

> (8桁入力されている事が前提で)文字列を4・2・2へばらばらにし
_stscanfとか。

if ( _stscanf( str, _T( %4d%2d%2d ), &year, &month, &day ) == 3 )
{
// 年月日チェックをする
}

または、CStringクラスのMidメソッドで文字列で分割してatoiやstrtolで変換とか。

一応参考にしてみてください。
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200605/06050060.txt


返信引用
おうち
 おうち
(@おうち)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

さっそくのご回答ありがとうごあいます。
参考の方も見て勉強させていただきます。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました