2012-04-04 52 views
-2

我需要做的模仿C++以下Perl代碼這個使用sprintf的Perl代碼的C++等價物是什麼?

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); 

    # ... 
} 

的功能。我使用哪個功能?

+2

'sprintf'在Perl是C調用的實現。我很確定你也可以用C++來做到這一點。 – Cfreak 2012-04-04 13:40:52

+0

模仿'sprintf'調用很簡單。模仿「if」陳述更加困難。 – 2012-04-04 18:21:24

回答

4

相同的Perl:

char file_ts[1000]; 

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

相關問題