Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.
V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.
Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.
WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.
Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.
Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.
Společnost OpenAI představila GPT-5 (YouTube).
Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
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.
A když ho budeš nutit zapsat 32 bitů do bajtu, tak to tam klidně zapíše??
$ gcc -Wall -c scanftest.c scanftest.c: In function ‘main’: scanftest.c:7:10: warning: format ‘%d’ expects argument of type ‘int *’, but argument 2 has type ‘unsigned char *’ [-Wformat=] scanf("%d",&c); ~^ ~~ %hhdNo keď budeš ignorovať warningy, tak sa nečuduj. Inými slovami: vieš ukázať správne napísané volanie scanf(), pri ktorom sa nedozvieš, že došlo k chybe, alebo že sa zapisuje na nesprávne miesto v pamäti?
kterému se budou vstupní data předávat z příkazového řádku - stdin
Jen pro pořádek: příkazový řádek a stdin jsou dvě různé věci.
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <math.h> typedef struct Numbers Numbers; struct Numbers { size_t n; size_t cap; double *nums; }; enum { MAXLINE = 100, INIT = 1, GROW = 2 }; void addnumber(double num, Numbers *p); int estrtod(char *line, double *num); int main() { char line[MAXLINE]; double number; Numbers ns; int i; ns.nums = NULL; while (fgets(line, MAXLINE, stdin) != NULL) { line[strlen(line)-1] = '\0'; if (estrtod(line, &number)) addnumber(number, &ns); } printf("\n"); for (i = 0; i < ns.n; i++) printf("%0.2f\n", ns.nums[i]); free(ns.nums); return 0; } void addnumber(double num, Numbers *p) { double *t; if (p->nums == NULL) { p->nums = malloc(INIT * sizeof(double)); p->n = 0; p->cap = INIT; } else if (p->n == p->cap) { t = realloc(p->nums, GROW * p->cap * sizeof(double)); p->cap *= GROW; p->nums = t; } p->nums[p->n] = num; p->n++; } int estrtod(char *line, double *num) { char *endptr; if (*line == '\0') return 0; errno = 0; *num = strtod(line, &endptr); if (errno == ERANGE || *endptr != '\0') { printf("error number: %s\n", line); return 0; } return 1; }
58 45.236 abc666 error number: abc666 22xyz error number: 22xyz 22222222222222222222222222222 400 58.00 45.24 22222222222222223739180810240.00 400.00Bohužel mi strtod nenastavuje errno na ERANGE při zadání příliš vysokého čísla, přičemž strtol mi funguje normálně. Možná chyba v linuxu, možná mezi počítačem a židlí, nevím. Tohle je jen takový nástřel, ještě by bylo vhodné ošetřit chyby u malloc a realloc, mít na výpis čísel vlastní funkci, rozdělit vše do souborů atd. Psát tohle v C je docela nepraktické.
Tiskni
Sdílej: