
C++で日付判定を行いたい!!
C++でデータを1バイトづつ呼んで(For文で回す)日付かどうかを判断したいのですが、VBのようなIsDateみたいな関数がないので、同じように扱える関数がC++であったら教えてください。
対応する関数が無い場合は参考になるようなサイトでもやり方でも結構ですので、教えてください。
例>
tp=&buf[4*16+(16*3)]; //ポインタ
for( ixs = 0;ixs<50;ixs++){
//日付判定チェックがしたい
sprintf(aaa,"%08d",*((unsigned int*)(tp+ixs)));
}
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
汎用的に考えれば、以下の関数が使えるんじゃないかなーと
- sscanf()
- localtime()
- mktime()
処理概要は、
sscanf() で 値を読み取って、struct tm に設定。
mktime()で time_t を取得してlocaltime() で struct tmを再度取得
sscanf()で読み取った値と逆引きした日付が一致するかチェック
こんなかんじでしょうかね。
各関数のエラーチェックも忘れずに
No.2
- 回答日時:
「1バイトづつ呼んで日付かどうかを判断」って, どのような操作を意図しているのでしょうか?「日付」が 1バイトに収まるような環境がそれほど一般的であるとは思えないのですが.
そして, そのあとの sprintf は何をしたいのでしょうか?
すみません。プログラムで1バイトで日付は私も判断出来ないと思います。
ですから"unsigned int"を定義していると思うのですが、如何でしょうか。
ありがとうございました。
No.1
- 回答日時:
【やり方】
(1)どういうデータなら日付なのかのイメージを明確にする
(2)あるデータが特定のデータに該当するかを判定する方法を考える
(3)(2)を日付に対してあてはめる
(4)(3)から具体的な処理方法を考える
(5)(4)をコードに落とす
一口に日付と言っても様々な表記方法があります。西暦何年とか平成何年とか年号から始まるものもあれば、「9/11」とだけのシンプルなものもあります。「いちがつついたち」と全部ひらがなとかもあり得ます。それらをすべて網羅して対応するのは現実的ではありません。
通常、特定用途で日付をチェックするなら、その用途に置いて現実的にあり得る表記方法に基づいてチェックを行うのが妥当です。それが複数ある場合もあるでしょうが、具体的な表記方法がイメージ出来れば、それをどうやってチェックしていけば良いのかということも分かってくると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Excel(エクセル) Excelで2つの条件のうちどちらかにあてはまるときの数式を教えてください。 5 2023/01/19 16:58
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Visual Basic(VBA) VBA 行削除した連番 4 2023/06/27 16:00
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで日付を検索し転...
-
DataGridViewでyyyy/MM/dd
-
ユーザーフォームのラベルに日...
-
VBA 日付、未来の日付はエラー...
-
【再掲】ページが開かれたとき...
-
人をはめた人は 自分に返ってく...
-
Eclipseの対応する括弧の強調表...
-
コンボボックスに日付を表示する
-
VBAで当月の1日を表示するには...
-
excel2003で作成した...
-
[ASP+SQLserver]Varcher形式を...
-
Laravelクエリビルダにてウィン...
-
VisualBasic6.0のFormat関数で...
-
C#で日付をdateTimePickerに読...
-
VBAのapplication.ontime メソ...
-
VB 日付範囲チェック
-
ファミリーリンクの通知が消え...
-
iPhoneの電話設定で、特定の番...
-
iPhoneのメールで、特定の人だ...
-
最近、iPhoneがおかしいです 私...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseの対応する括弧の強調表...
-
人をはめた人は 自分に返ってく...
-
DataGridViewでyyyy/MM/dd
-
エクセルのVBAで日付を検索し転...
-
ユーザーフォームのラベルに日...
-
VisualBasic6.0のFormat関数で...
-
コンボボックスに日付を表示する
-
テキストボックスにカレンダー...
-
1本あたり○円と表示する時どの...
-
指定した日付が、その月の第何...
-
VBAで当月の1日を表示するには...
-
VBA 日付・時刻の判別 時刻を認...
-
今日より前の書き方 マクロ
-
システム日付とは?
-
テキストボックスに今日の日付...
-
DateTimePickerを西暦表示にす...
-
JSPからYYYYMMDDで日付入力する
-
ExcelVBAでSQLサーバの日付時刻...
-
C++で日付判定を行いたい!!
-
【Excel VBA】条件に合った行の...
おすすめ情報