0
現在の時刻に10秒を追加し、更新された時刻と実際の時刻を比較するこのコードを作成しています。 ここに私のコードです。誰が私が間違っているのか教えてくれますか?ここ は私のコードです:文字列比較を使用して時刻を比較しようとしています
#include <stdio.h>
#include <time.h>
int main(int argc, char **argv)
{
time_t timeNow;
time_t timeAct;
struct tm* time_info;
time(&timeNow);
time(&timeAct);
time_info = localtime(&timeNow);
char timeStr[sizeof"HH:MM:SS"];
char timeN[sizeof"HH:MM:SS"];
strftime(timeStr, sizeof(timeStr), "%H:%M:%S", time_info);
printf("Time now: %s\n", timeStr);
timeNow += 10;
time_info = localtime(&timeNow);
strftime(timeStr, sizeof(timeStr), "%H:%M:%S", time_info);
printf("New time: %s\n", timeStr);
time_info=localtime(&timeAct);
strftime(timeN, sizeof(timeN), "%H:%M:%S", time_info);
printf("time Actual: %s\n",timeN);
while(1)
{
if(strcmp(timeStr,timeN) == 0)
{
printf("hi");
}
}
}
私は、文字列の比較に問題があると思います。確かに!ここ
が出力されます。
Time now: 12:41:17
New time: 12:41:27
time Actual: 12:41:17
あなたが直面している問題は何ですか?あなたの 'while(1)'ループは決して壊れません。 – Marievi
ええ、私は休憩が必要だと思った。問題は:私は私の "ハイ"を印刷することができません。 @Marievi –
もう1つのコメント:あなたは 'while'ループは必要ありません。常に同じ文字列を比較し、ループ内で変更するつもりはありません。 – Marievi