ユーザーから渡されたコマンドライン引数を解析するために、boost optionsparser を使用しています。現在、プログラムには、ユーザーが選択した日付形式を指定するオプションがありました。
お気に入り、
program -d %d/%m/%Y-%H:%M:%S
などprogram -d %d/%m/%Y
。
私が直面している問題は、 *ユーザーから渡されたフォーマット文字列の有効性を確認するにはどうすればよいですか? *
今考えられる唯一の方法は、フォーマット文字列を日付クラスに渡し、そこで例外処理を使用することです。
ただし、オプションの解析時に有効性を確認する別の方法がある場合は、実際に形式を使用して日付文字列を生成する前に計算を行うため、データを渡して不必要に処理する必要はありません。