文字列を数字に
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 <time.h>
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 <time.h>
#include <sys/time.h>
#include <stdio.h>
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);
}
[カテゴリ: プログラミング言語 > C]
[通知用URL]
Tweet
最終更新時間:2009年05月12日 19時53分05秒