!文字列を数字に atoi(char *) を使う !数字を文字列に sprintf(buf, "%d", 100); !現在の日付、時間 time() で 現在日付、時刻を取得し、localtime でtm構造体に入れる。 tm構造体 struct tm { int tm_sec; /* 秒 [0-61] 最大2秒までのうるう秒を考慮 */ int tm_min; /* 分 [0-59] */ int tm_hour; /* 時 [0-23] */ int tm_mday; /* 日 [1-31] */ int tm_mon; /* 月 [0-11] 0から始まることに注意 */ int tm_year; /* 年 [1900からの経過年数] */ int tm_wday; /* 曜日 [0:日 1:月 ... 6:土] */ int tm_yday; /* 年内の通し日数 [0-365] 0から始まることに注意*/ int tm_isdst; /* 夏時間が無効であれば 0 */ }; 使用例 #include int main(){ struct tm *date; time_t now; int year, month, day; int hour, minute, second; /* 現在の日時を取得 */ time(&now); date = localtime(&now); year = date->tm_year + 1900; month = date->tm_mon + 1; day = date->tm_mday; hour = date->tm_hour; minute = date->tm_min; second = date->tm_sec; printf("%04d/%02d/%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second); } !実行時間を測定 #include #include #include double gettimeofday_sec() { struct timeval tv; gettimeofday(&tv, NULL); return tv.tv_sec + (double)tv.tv_usec*1e-6; } int main() { int i; int n = 0; double t1,t2; t1 = gettimeofday_sec(); for (i = 0; i < 100000; i++) n *= i; t2 = gettimeofday_sec(); printf("time = %10.30f\n", t2 - t1); t1 = gettimeofday_sec(); for (i = 0; i < 10000000; i++) n *= i; t2 = gettimeofday_sec(); printf("time = %10.30f\n", t2 - t1); } {{category2 プログラミング言語,C}}