Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
#include <iostream> #include <fstream> using namespace std; int main() { // otevreni pro cteni i zapis fstream *dbFile = new fstream("file.txt", ios::in | ios::out | ios::binary); if (!dbFile->is_open()) { // soubor nelze otevrit cout << "Creating file" << endl; dbFile->open("file.txt", ios::out | ios::binary); // vytvoreni souboru if (!dbFile->is_open()) { cout << "Cannot create file" << endl; return 0; } dbFile->close(); // otevreni pro cteni i zapis dbFile->open("file.txt", ios::in | ios::out | ios::binary); if (!dbFile->is_open()) { cout << "Cannot open file after create" << endl; return 0; } if (!dbFile->write("AABB", 4)) cout << "Cannot write to file" << endl; dbFile->close(); } else cout << "Opening file" << endl; delete dbFile; return 0; }
#include <fstream> using namespace std; int main() { // jako fopen(..., "r+") => O_RDRW fstream *dbFile = new fstream("file.txt", ios::in | ios::out); if (!*dbFile) { dbFile->clear(); // jako fopen(..., "w+") => O_RDRW | O_TRUNC | O_CREAT dbFile->open("file.txt", ios::in | ios::out | ios::trunc); } if (!*dbFile) { perror("file.txt"); return 1; } if (!dbFile->write("AAXB", 4)) { perror("writing to file.txt"); return 1; } dbFile->close(); delete dbFile; return 0; }
delete dbFile;
i při chybě (nebo mít dbFile na zásobníku...). Ale podstatné je to volání dbFile->clear() a to, že dbFile->open() stačí volat dvakrát.
twofish uz te zrejme uspokojil:). jen bych dodal pro inspiraci jine reseni:
#include <iostream> #include <fstream> using namespace std; namespace { const string JMENO = "file.txt"; } int main() { fstream test; test.exceptions ( ifstream::eofbit | ifstream::failbit | ifstream::badbit ); try { test.open ( JMENO.c_str(), ios::in | ios::out | ios::binary | ios::trunc); } catch (ifstream::failure &e) { cerr << e.what() << ":"<< endl; perror ("Vyjimka otevreni/cteni ze souboru."); exit(1); } return 0; }
Tiskni Sdílej: