-2

次のPerlコードの機能を模倣する必要があります

if($file =~ /^([^_]+)_([^_]+)_MA_(\d{4})(\d\d)(\d\d)_(\d\d)(\d\d)(\d\d)\.MA$/) {
  my ($radar, $beam, $year, $month, $day, $hour, $min, $sec) =
      ($1, $2, $3, $4, $5, $6, $7, $8);
  my $file_ts = sprintf("%04d-%02d-%02d %02d:%02d:%02d",
      $year, $month, $day, $hour, $min, $sec);

  # ...
}

C++で。どの関数を使用しますか?

4

2 に答える 2

9

まあ、常に使用するオプションがありますsprintf

http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

stringstreamまたは、より C++ っぽい代替手段としてを使用できます。

于 2012-04-04T13:40:10.700 に答える
4

Perl と同じ:

char file_ts[1000];

snprintf(file_ts, "%04d-%02d-%02d %02d:%02d:%02d", year, month, day, hour, min, sec);

   

于 2012-04-04T13:40:26.300 に答える