Login
Резюме для программиста
89957 просмотров
Перейти к просмотру всей ветки
in Antwort Срыв покровов 18.03.22 14:28, Zuletzt geändert 19.03.22 01:44 (uscheswoi_82)
Си был долгое время по версии Tiobe Index на высоком месте см. https://www.tiobe.com/tiobe-index/c/, Си++ gcc глючный, иногда приходится переходить на Си. Допустим в gcc до сих пор нет string format в Си++, приходится тупо переходить на Си и использовать sprintf. Допустим меня 2 пользователя тут высмеивали, и говорили что я хелло ворлдщик и начинающий программист, я создал свой фреймворк на Си++, типа как Net Framework, послал им примеры, кстати они до сих пор молчат в тряпочку. Вот так приходится делать:
Timer *tm; Label *lbCurrtime; SYSTEMTIME curr_time;char buf[21]; ... GetLocalTime(&curr_time); sprintf(buf, "d.d.d d:d:d", curr_time.wDay, curr_time.wMonth, curr_time.wYear, curr_time.wHour, curr_time.wMinute, curr_time.wSecond); lbCurrtime->set_text(string(buf));
Это полный пример:
Timer *tm; Label *lbCurrtime; SYSTEMTIME curr_time; char buf[21]; LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { case WM_TIMER: if(tm->is_tick(wParam)) { //see. https://stackoverflow.com/questions/63724059/does-gcc-support-c20-stdformat // O.o GetLocalTime(&curr_time); sprintf(buf, "d.d.d d:d:d", curr_time.wDay, curr_time.wMonth, curr_time.wYear, curr_time.wHour, curr_time.wMinute, curr_time.wSecond); lbCurrtime->set_text(string(buf)); } break; case WM_CREATE: lbCurrtime = new Label("", 10, 10, 140, 20, hwnd); lbCurrtime->show(); tm = new Timer(hwnd, 1000, TIMER1); tm->set_timer(); break; /* Upon destruction, tell the main thread to stop */ case WM_DESTROY: { tm->kill_timer(); PostQuitMessage(0); break; } /* All other messages (a lot of them) are processed using default procedures */ default: return DefWindowProc(hwnd, Message, wParam, lParam); } return 0; }
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение