Byla vydána nová verze 25.12.6 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Opravena je řada zranitelností v základních síťových službách, které jsou ve výchozím nastavení aktivní a které lze zneužít na dálku. Důrazně je doporučena aktualizace.
Český projekt mapSTL.com promění vybrané místo na světě ve 3D mapu pro tisk, včetně měst, kopců a hor. Vytištěnou mapu můžete také pověsit na zeď jako obraz. STL i barevný 3MF stáhnete zdarma a bez registrace. Vyzkoušejte své oblíbené místo a podělte se o zpětnou vazbu.
Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.
Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
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: