Byli vyhlášeni vítězové ocenění Steam Awards 2025. Hrou roku a současně nejlepší hrou, která vám nejde, je Hollow Knight: Silksong.
Byla vydána nová verze 26.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Anh-Linh. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Jednotný seznam blokovaných internetových stránek vedený Českým telekomunikační úřadem obsahoval také Český telekomunikační úřad.
Byl představen webový prohlížeč Brow6el, běžící v terminálu. Pro prohlížení webu je využit Chromium Embedded Framework, vyrendrovaná webová stránka je následně zobrazena v terminálu převodem na sixely pomocí knihovny libsixel. Brow6el se ovládá modálním klávesnicovým rozhraním, inspirovaném populárním textovým editorem Vim. Demonstrační video s ukázkou používání.
Společnost Pebble představila (YouTube) chytré hodinky Pebble Round 2. S kulatým e-paper displejem, s open source PebbleOS a vydrží baterie přibližně dva týdny. Předobjednat je lze za 199 dolarů s plánovaným dodáním v květnu.
Na novoroční inauguraci starosty New Yorku Zohrana Mamdaniho bylo zakázáno si s sebou přinést Raspberry Pi anebo Flipper Zero. Raspberry Pi i Flipper Zero jsou explicitně uvedeny v seznamu zakázaných věcí jak na na veřejné pozvánce, tak i na oficiálních stránkách města.
OpenTTD (Wikipedie), tj. open source klon počítačové hry Transport Tycoon Deluxe, byl vydán v nové stabilní verzi 15.0. Přehled novinek v seznamu změn a také na YouTube. OpenTTD lze instalovat také ze Steamu.
Správce oken IceWM byl vydán ve verzi 4.0.0, která např. vylepšuje navigaci v přepínání velkého množství otevřených oken.
Od 1. ledna 2026 jsou všechny publikace ACM (Association for Computing Machinery) a související materiály přístupné v její digitální knihovně. V rámci této změny je nyní digitální knihovna ACM nabízena ve dvou verzích: v základní verzi zdarma, která poskytuje otevřený přístup ke všem publikovaným výzkumům ACM, a v prémiové zpoplatněné verzi, která nabízí další služby a nástroje 'určené pro hlubší analýzu, objevování a organizační využití'.
Access not within mapped region at address 0x0 ==26680== at 0x3BD606CD90: fwrite (in /usr/lib64/libc-2.17.so)Je mozne, ze se nekdy nejak nekorektne otevre soubor pro psani? Premyslim, v cem to muze byt. Lze kod nejak osetrit tak, aby to bylo vzdy korektni?
void send_file(char *source, char *destination) {
FILE * filer, * filew;
int numr, numw;
char buffer[1024];
if ((filer = fopen(source, "rb")) == NULL) {
perror("open read file error.\n");
//exit(1);
}
if ((filew = fopen(destination, "wb")) == NULL) {
perror("open write file error.\n");
//exit(1);
}
while (feof(filer) == 0) {
if ((numr = fread(buffer, 1, 100, filer)) != 100) {
if (ferror(filer) != 0) {
perror("read file error.\n");
//exit(1);
} else if (feof(filer) != 0);
}
if ((numw = fwrite(buffer, 1, numr, filew)) != numr) {
perror("write file error.\n");
//exit(1);
}
}
fclose(filer);
fclose(filew);
}
Řešení dotazu:
A nejsou právě problémem ty zakomentované exit-y?, tedy dle hlášky zrovna ten ve fopen pro filew.
U zapisovaného souboru je dobré kontroloval návratový kód fclose, moc se to sice nedělá, ale…
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
void send_file(const char *source, const char *destination) {
FILE * filer, * filew;
int numr;
const int SIZE_OF_BUFFER=1024;
char buffer[SIZE_OF_BUFFER];
if ((filer = fopen(source, "rb")) == NULL) {
perror("open read file error.\n");
exit(1);
}
if ((filew = fopen(destination, "wb")) == NULL) {
perror("open write file error.\n");
fclose(filer);
exit(1);
}
while (feof(filer) == 0) {
if ((numr = fread(buffer, 1, SIZE_OF_BUFFER, filer)) != SIZE_OF_BUFFER) {
if (ferror(filer) != 0) {
perror("read file error.\n");
fclose(filer);
fclose(filew);
exit(1);
}
}
if (fwrite(buffer, 1, numr, filew) != numr) {
perror("write file error.\n");
fclose(filer);
fclose(filew);
exit(1);
}
}
if(fclose(filer) != 0)
printf("read file - close error.\n");//has read-file been deleted ... ???
if(fclose(filew) != 0)
printf("write file - close error.\n");//flush C buffer fails
//fsync ????
}
int main( int argc, const char* argv[] ){
if (argc == 3 ) {
send_file(argv[1], argv[2]);
} else {
printf("Main error, two params needed (from, to).\n");
return 1;
}
return 0;
}
Tiskni
Sdílej: