Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 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.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
itoa()
opravdu neexistuje...
atoi()
), ale ne v POSIXu ani v dalších rozšířeních glibc; tipoval bych, že jde o pokus přeložit program psaný původně pro nějakou jinou platformu. Takhle to dopadá, když se nepoužívá -Wall
nebo se ignorují varování překladače.
#include <stdio.h> #include <string.h> /* Converts an integer value to a null-terminated string using the specified radix and stores the result in the given buffer. If radix is 10 and value is negative the string is preceded by the minus sign (-). With any other radix, value is always considered unsigned. buffer should be large enough to contain any possible value: (sizeof(int)*8+1) for radix=2, i.e. 17 bytes in 16-bits platforms and 33 in 32-bits platforms. Parameters: value Value to be represented as a string. buffer Buffer where to store the resulting string. radix Numeral radix in which value has to be represented, between 2 and 36. Return Value: A pointer to the string. No error checking is performed. */ char* itoa (int value, char* buffer, int radix) { if ( radix == 10 ) { sprintf (buffer, "%d", value); } else { char tmp_buffer[ sizeof(int)*8 + 1 ]; char *ptr = &tmp_buffer[ sizeof(int)*8 ]; unsigned n = value; *ptr-- = 0; do { *ptr-- = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" [n % radix]; n /= radix; } while ( n ); strcpy (buffer, ++ptr); } } int main () { int value, radix; char buffer[sizeof(int)*8 + 1]; while (1) { printf ("Value (decimal): "); scanf ("%d", &value); printf ("Radix (2 .. 36): "); scanf ("%d", &radix); if ( radix < 2 || radix > 36 ) { printf("Good bye!\n"); return 0; } itoa (value, buffer, radix); printf("Result: %s\n", buffer); } }
#include <stdio.h> #include <string.h> /* Converts an integer value to a null-terminated string using the specified radix and stores the result in the given buffer. If radix is 10 and value is negative the string is preceded by the minus sign (-). With any other radix, value is always considered unsigned. buffer should be large enough to contain any possible value: (sizeof(int)*8+1) for radix=2, i.e. 17 bytes in 16-bits platforms and 33 in 32-bits platforms. Parameters: value Value to be represented as a string. buffer Buffer where to store the resulting string. radix Numeral radix in which value has to be represented, between 2 and 36. Return Value: A pointer to the string. No error checking is performed. */ char* itoa (int value, char* buffer, int radix) { if ( radix == 10 ) { sprintf (buffer, "%d", value); } else { char tmp_buffer[ sizeof(int)*8 + 1 ]; char *ptr = &tmp_buffer[ sizeof(int)*8 ]; unsigned n = value; *ptr-- = 0; do { *ptr-- = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" [n % radix]; n /= radix; } while ( n ); strcpy (buffer, ++ptr); } } int main () { int value, radix; char buffer[sizeof(int)*8 + 1]; while (1) { printf ("Value (decimal): "); scanf ("%d", &value); printf ("Radix (2 .. 36): "); scanf ("%d", &radix); if ( radix < 2 || radix > 36 ) { printf("Good bye!\n"); return 0; } itoa (value, buffer, radix); printf("Result: %s\n", buffer); } }
return buffer;
. Takze nejak takto:
} while ( n ); strcpy (buffer, ++ptr); } return buffer; }
#include <stdlib.h>
a pak už jen
itoa(I,S,i)
kde I je vstupní integer; S výstupní string a i je soustava (2-dvojkova;8-osmičková;10-desítková;16-hexadecimální)
$ grep itoa /usr/include/gentoo-multilib/amd64/stdlib.h $?
Tiskni
Sdílej: