時刻取得サンプル・プログラム
C++/Linux(Fedora 16)
Linux (Fedora 16) での標準C++ による時刻取得プログラム例を以下のように作成してみた。
===============================================
#include <iostream>
#include <time.h>
using namespace std;
int char_to_int( char c ){
return int(c) - int('0');
}
void what_time( int & year, char
* month, char * week,
int & day, int
& hour, int & min, int & sec ){
time_t
tm;
time(
&tm );
char *vtm;
vtm
= ctime( &tm );
week[0]
= vtm[0];
week[1]
= vtm[1];
week[2]
= vtm[2];
week[3]
= 0;
month[0]
= vtm[4];
month[1]
= vtm[5];
month[2]
= vtm[6];
month[3]
= 0;
day
= 10 * char_to_int(vtm[8]) + char_to_int(vtm[9]);
hour
= 10 * char_to_int(vtm[11]) + char_to_int(vtm[12]);
min
= 10 * char_to_int(vtm[14]) + char_to_int(vtm[15]);
sec
= 10 * char_to_int(vtm[17]) + char_to_int(vtm[18]);
year
= 1000 * char_to_int(vtm[20])
+
100 * char_to_int(vtm[21])
+
10 * char_to_int(vtm[22])
+
char_to_int(vtm[23]);
}
int main(){
int year, day, hour, min, sec;
char month[4], week[4];
what_time(
year, month, week, day, hour, min, sec );
cout
<< "Year: " << year
<< endl;
cout
<< "Week: " << week
<< endl;
cout
<< "Month: " << month
<< endl;
cout
<< "day: " << day
<< endl;
cout
<< "hour: " << hour
<< endl;
cout
<< "min: " << min
<< endl;
cout
<< "sec: " << sec
<< endl;
return 0;
}
===============================================
上のプログラムの実行結果例は図1のようになる。
図1
Fedora 16にg++ コマンドがインストールされていないときは
su コマンドを実行してから
yum groupinstall “Development Tools”
と実行するとインストールすることができ、「g++」が使えるようになる。Development と Tools の間に空白文字が入っているので、全体を ” と ” で囲む。