変数:char date[11];
があり、その中に現在の日付を入れる必要があります29/06/2012
。
だから私は次のようなことをします:
printf ("%s\n", date);
出力は次のようになります。29/06/2012
のような単語で日付を印刷するオプションしか見つかりFri, June 2012
ませんでしたが、実際の日付を数字で印刷するオプションは見つかりませんでした。
では、現在の日付を数値で出力するにはどうすればよいでしょうか?
この関数strftimeを参照できます。使い方はお任せします:-)
あなたはそれを検索したと主張したので、私は答えを提供します:
// first of all, you need to include time.h
#include<time.h>
int main() {
// then you'll get the raw time from the low level "time" function
time_t raw;
time(&raw);
// if you notice, "strftime" takes a "tm" structure.
// that's what we'll be doing: convert "time_t" to "tm"
struct tm *time_ptr;
time_ptr = localtime(&raw);
// now with the "tm", you can format it to a buffer
char date[11];
strftime(date, 11, "%d/%m/%Y", time_ptr);
printf("Today is: %s\n", date);
}
strftime
の一部を探していますtime.h
。を渡す必要がありますstruct tm *
。
あなたの例では、フォーマット文字列は次のようになります: "%d/%m/%Y"
、かなり一般的なケースです。
ドキュメントのコードに基づく:
char date[11];
time_t t;
struct tm *tmp;
t = time(NULL);
tmp = localtime(&t);
if (tmp != NULL)
{
if (strftime(date, 11, "%d/%m/%Y", tmp) != 0)
printf("%s\n", date);
}