Framework [ Next Gen ] Event 2026, dnes v 19:30 společnost Framework na YouTube něco představí.
Byl vydán Mozilla Firefox 150.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 150 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byl představen (reddit, 𝕏) webový prohlížeč Brave Origin. Jedná se webový prohlížeč Brave bez VPN, krypto peněženky a odměn, tj. bez funkcí, ze kterých je vývoj Brave financován. Stojí jednorázově 59,99 dolarů. Verze pro Linux je zdarma.
Tim Cook po 15 letech opustí post generálního ředitele americké technologické společnosti Apple. Od 1. září ho vystřídá John Ternus, který byl dosud odpovědný za hardware. Cook se stane předsedou představenstva. Cook vedl Apple od roku 2011, kdy funkci převzal od zesnulého spoluzakladatele společnosti Stevea Jobse.
Evropská aplikace na ověřování věku uživatelů lze hacknout během dvou minut, navzdory tvrzením předsedkyně Evropské komise Uršuly von der Leyenové, že je tato aplikace 'technicky připravená pro ostré nasazení' a 'splňuje nejvyšší standardy ochrany osobních údajů na světě'. Zdrojové kódy aplikace byly Bruselem zveřejněny v repozitářích na GitHubu.
Po 26 letech od protiprávního policejního zásahu, který byl spuštěn na základě podnětu společnosti Microsoft, Obvodní soud pro Prahu 2 rozsudkem potvrdil, že Mironet prokázal významnou část svého nároku na náhradu škody vůči Ministerstvu spravedlnosti ČR. Soudem nyní přiznaná část nároku znamená rekordní odškodné, jaké kdy české soudy přiznaly za nesprávný postup státu. Spor byl rozdělen na několik škod, u pravomocně uzavřených částí
… více »Lehké desktopové prostředí LXQt bylo vydáno ve verzi 2.4.0. Jde o převážně opravné vydání s drobnými vylepšeními podpory Waylandu.
Počítačová hra Kingdom Come: Deliverance 2 českého studia Warhorse získala cenu BAFTA v kategorii nejlepší příběh. V konkurenci pěti dalších nominovaných děl porazila i úspěšnou francouzskou hru Clair Obscur: Expedition 33, která v letošním ročníku získala cenu za nejlepší hru roku.
Projekt KDE oslaví v říjnu 30 let. Matthias Ettrich poslal 14. října 1996 do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu. Důležité milníky jsou zobrazeny na časové ose KDE.
Byly vyhlášeny výsledky letošní volby vedoucí/ho projektu Debian (DPL, Wikipedie). Poprvé povede Debian žena. Novou vedoucí je Sruthi Chandran. Letos byla jedinou kandidátkou. Kandidovala již v letech 2020, 2021, 2024 a 2025. Na konferenci DebConf19 měla přednášku Is Debian (and Free Software) gender diverse enough?
Lze v C++ pomocí nějakého proudu provést to, co lze takto jednoduše implementovat v C:
int main (int argc, char *argv[]) {
FILE *fp
if (argc == 1)
fp = stdin;
else
fp = fopen(argv[1], "r");
/* tady uz pracuji s fp nezavisle na tom
odkud beru data */
c = fgetc(fp)
...
Tzn. jak pomocí jednoho proudu neformátovaně číst data, ať už je vstupem standartní vstup nebo nějaký soubor?
#include <iostream>
#include <fstream>
int main(int argc, char **argv) {
std::istream *_fp;
if(argc == 1)
_fp = &std::cin;
else
_fp = new std::ifstream(argv[1]);
std::istream &fp = *_fp;
/* tady pracuju s fp jako s objektem istream */
int i;
fp >> i;
...
Neměl byste pak ale zapomínat ten stream po sobě zlikvidovat, takže by to chtělo nějaký příznak, zda se to má udělat. Nebo by šlo použít něco jako
#include <iostream>
#include <fstream>
#include <stdexcept>
void process_stream(std::istream& fs)
{
std::cout << fs.rdbuf();
}
int main(int argc, char* argv[])
{
int ret = 0;
if (argc < 2) {
process_stream(std::cin);
} else {
for (int i=1; i<argc; i++) {
std::ifstream fs(argv[i]);
if (!fs) {
std::cerr << "error: cannot open file " << argv[i] << std::endl;
ret = 1;
continue;
}
process_stream(fs);
}
}
return ret;
}
dup2() :-)
Díky všem za náměty, nakonec to nebude koukám tak složitý. Nicméně systém streamů v C++ musel navrhovat chovanec Guatemalského ústavu pro choromyslné...
V porovnání s céčkovským FILE * mi systém streamů v C++ přijde zbytečně složitý. Nicméně netvrdím, že pokud člověk do tohoto systému pronikne, nemůže být mocným nástrojem...
Ono je to složité hlavně na pohled. Když se to ale naučíte používat, udělá to strašně moc práce za vás. Viz třeba můj oblíbený
#include <iostream>
#include <locale>
int main(int argc, char* argv[])
{
if (argc != 3) return 1;
std::ios_base::sync_with_stdio(false);
std::wcin.imbue(std::locale(argv[1]));
std::wcout.imbue(std::locale(argv[2]));
std::wcout << std::wcin.rdbuf();
return 0;
}
(error handling si udělá laskavý čtenář za cvičení)
Tiskni
Sdílej: