システム時刻をC++で出力
C ++標準ライブラリは、適切な日付型を提供していません。 C ++は、日付と時刻を操作するための構造体と関数をCから継承します。日付と時刻に関連する関数と構造体にアクセスするには、C++プログラムに
時間に関連するタイプには、clock_t、time_t、size_t、およびtmの4つがあります。タイプ(clock_t、size_t、time_t)は、システムの時刻と日付をある種の整数として表すことができます。
構造体タイプtmは、次の要素を持つC構造体の形式で日付と時刻を保持します-
struct tm { int tm_sec; // seconds of minutes from 0 to 61 int tm_min; // minutes of hour from 0 to 59 int tm_hour; // hours of day from 0 to 24 int tm_mday; // day of month from 1 to 31 int tm_mon; // month of year from 0 to 11 int tm_year; // year since 1900 int tm_wday; // days since sunday int tm_yday; // days since January 1st int tm_isdst; // hours of daylight savings time }
現在のシステムの日付と時刻を現地時間または協定世界時(UTC)として取得するとします。以下は同じことを達成するための例です–
例
#include <iostream> #include <ctime> using namespace std; int main() { // current date/time based on current system time_t now = time(0); char* dt = ctime(&now); // convert now to string form cout << "The local date and time is: " << dt << endl; // convert now to tm struct for UTC tm *gmtm = gmtime(&now); dt = asctime(gmtm); cout << "The UTC date and time is:"<< dt << endl; }
出力
The local date and time is: Fri Mar 22 13:07:39 2019 The UTC date and time is:Fri Mar 22 07:37:39 2019
-
C /C++でのバークレーのアルゴリズム
バークレーのアルゴリズムは、分散システムのクロック同期に使用されるアルゴリズムです。このアルゴリズムは、分散ネットワークの一部またはすべてのシステムにこれらの問題のいずれかがある場合に使用されます- A.マシンには正確なタイムソースがありません。 B.ネットワークまたはマシンにUTCサーバーがありません。 分散システム 物理的に分離されているが、ネットワークを使用して相互にリンクされている複数のノードが含まれています。 バークレーのアルゴリズム このアルゴリズムでは、システムはノードをマスター/リーダーノードとして選択します。これは、サーバーのプールノードから実行され
-
C++でバイナリツリーを印刷する
これらのルールに基づいて、m *n2D文字列配列に二分木を表示する必要があるとします- 行番号mは、指定された二分木の高さと同じである必要があります。 列番号nは常に奇数である必要があります。 ルートノードの値は、配置できる最初の行の真ん中に配置する必要があります。ルートノードが存在する列と行は、残りのスペースを2つの部分に分割します。これらは左下部分と右下部分です。左下の部分に左のサブツリーを印刷し、右下の部分に右のサブツリーを印刷する必要があります。ここで、左下部分と右下部分は同じサイズである必要があります。一方のサブツリーがnoneで、もう一方がnoneでない場合でも、noneサブツリ