私は時間ヘッダをいじりしていますとエラーが発生している:単純なC++の時間プログラムエラー
invalid conversion from 'tm*' to 'time_t'
私がしようとするとエラーが底にすべての方法以下のコードである場合あなたが見ることができますdifftime関数を使用します。私は愚かで違法な何かをやっているだけのIMを知っていますが、私はこれをどう回避することができないかを見ます。誰かが解決策を持っているなら私に知らせてください。ありがとう!
プログラムは、現在の時刻を取得し、ユーザーから時間を入力し、時間差を見つけるはずです。
コード:
#include <stdio.h>
#include <time.h>
int main()
{
time_t rawtime;
struct tm * timeinfo;
struct tm * cur_timeinfo_hold;
int year, month ,day,hour,minute,second;
double dif;
/* prompt user for time to be compared*/
printf ("Enter year: "); scanf ("%d",&year);
printf ("Enter month: "); scanf ("%d",&month);
printf ("Enter day: "); scanf ("%d",&day);
printf ("Enter hour: "); scanf ("%d",&hour);
printf ("Enter minute: "); scanf ("%d",&minute);
printf ("Enter second: "); scanf ("%d",&second);
/* get current timeinfo*/
time (&rawtime);
timeinfo = localtime (&rawtime);
/* print it */
printf("The present time is: "); printf(asctime (timeinfo));
/* set current time into a new variable to use for difftime, since timeinfo, will be changed */
cur_timeinfo_hold = timeinfo;
/* modify current timeinfo to the user's choice */
timeinfo->tm_year = year - 1900;
timeinfo->tm_mon = month - 1;
timeinfo->tm_mday = day;
timeinfo->tm_hour = hour;
timeinfo->tm_min = minute;
timeinfo->tm_sec = second;
mktime (timeinfo);
/* and print it */
printf ("time to compare: "); printf(asctime (timeinfo));
/* find time difference */
//dif = difftime (cur_timeinfo_hold,timeinfo); //error: invalid conversion from 'tm*' to 'time_t'
return 0;
}
ありがとう!それは働いた – darko