Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.
Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.
Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.
Byla vydána nová verze 1.54.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Jan Václav.
Knižní edice správce české národní domény přináší novou knihu zkušeného programátora Pavla Tišnovského s názvem Programovací jazyk Go. Publikace nabízí srozumitelný a prakticky zaměřený pohled na programování v tomto moderním jazyce. Nejedná se však o klasickou učebnici, ale spíše o průvodce pro vývojáře, kteří s Go začínají, nebo pro ty, kdo hledají odpovědi na konkrétní otázky či inspiraci k dalšímu objevování. Tištěná i digitální verze knihy je již nyní k dispozici u většiny knihkupců.
OpenAI zpřístupnila (en) nové nenáročné otevřené jazykové modely gpt-oss (gpt-oss-120b a gpt-oss-20b). Přístupné jsou pod licencí Apache 2.0.
Byla vydána RC verze openSUSE Leap 16. S novým instalátorem Agama, Xfce nad Waylandem a SELinuxem.
Google Chrome 139 byl prohlášen za stabilní. Nejnovější stabilní verze 139.0.7258.66 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 12 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře. S verzí 139 přestal být podporován Android 8.0 (Oreo) a Android 9.0 (Pie).
std::string ReadLine() const { constexpr size_t BUFF_SIZE = 1024; char* buffer = new char[BUFF_SIZE]; char* pointer = buffer; DWORD readedBytes, length = 0; auto line = std::string(); while (true) { if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr)) { if (*pointer == '\r' || *pointer == '\n' || readedBytes == 0) { line.append(buffer, length); pointer = nullptr; delete[] buffer; return line; } else { if (length == BUFF_SIZE) { line.append(buffer, length); length = 0; pointer = buffer; } else { pointer++; length++; } } } else { delete[] buffer; throw SomeException(); } } }
Řešení dotazu:
char c; ... ReadFile(handle, &c, 1, &readedBytes, nullptr) ... line.append(c);
std::string ReadLine(const size_t bufferSize = 1024) const { char* buffer = new char[bufferSize + 1]; char* pointer = buffer; DWORD readedBytes, length = 0; auto line = std::string(); while (true) { if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr)) { if (*pointer == 'r' || *pointer == 'n' || readedBytes == 0) { line.append(buffer, length); pointer = nullptr; delete[] buffer; return line; } else { if (length == bufferSize) { line.append(buffer, length + 1); length = 0; pointer = buffer; } else { pointer++; length++; } } } } }
si eště jakoby voprav to slovíčko 'readed' ;D
bufferSize = std::numeric_limits<DWORD>::max()
.
Tiskni
Sdílej: