私はこの答えに取り組んでいました。そして、私は難問に遭遇しました:scanf抑制している割り当てがあり'*'ます:
このオプションが存在する場合、関数は変換の結果を受け取り引数に代入しません。
しかし、で使用するとget_time、'*'Visual Studio、libc++、および libstdc++ で実行時エラーが発生するstr >> get_time(&tmbuf, "%T.%*Y")ため、サポートされていないと思います。
tmbuf.tm_yearそのため、 2 回読み込むことで入力を無視することにしました。
str >> get_time(&tmbuf, "%H:%M:%S.%Y UTC %b %d %Y");
これは機能し、受け入れられget_timeていないため、これまでのところ私の唯一のオプションのようです。'*'しかし、誰もが知っているように、機能するからといって、それが定義されているわけではありません。誰かがそれを確認できますか:
- で同じ変数を 2 回割り当てるように定義されています。
get_time - ストリームは常に左から右に読み取られるため、2番目ではなく1番目の出現が踏みにじられます。
%Y