abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:44 | Nová verze

    Byla vydána nová verze 10.0 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze nové balíčky ownCloud Infinite Scale a Uptime-Kuma.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Nová verze

    Enkodér a dekodér SVT-AV1 (Scalable Video Technology for AV1) byl vydán v nové major verzi 4.0.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:44 | Nová verze

    Byla vydána nová verze 3.0.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    24.1. 11:55 | Humor

    Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě

    … více »
    NUKE GAZA! 🎆 | Komentářů: 32
    24.1. 01:44 | Komunita

    Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.

    Ladislav Hagara | Komentářů: 3
    23.1. 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 3
    23.1. 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 9
    23.1. 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    23.1. 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    23.1. 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (5%)
     (0%)
     (10%)
     (22%)
     (3%)
     (5%)
     (2%)
     (11%)
     (34%)
    Celkem 612 hlasů
     Komentářů: 17, poslední 22.1. 15:24
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: [C] program na prevod dec -> hex

    martin() avatar 11.9.2009 20:34 martin() | skóre: 6 | Prievidza / Bratislava
    [C] program na prevod dec -> hex
    Přečteno: 2045×
    Dobry den, snazim sa napisat program, ktory ako vstup zoberie integer a na obrazovku vypise hex. Zatial som vyprodukoval toto:
    #include <stdio.h>
    
    char *string_hexnum(int number)
    {
    	char mask[] = "0123456789ABCDEF";
    	char str[12];
    	int i = 10;
    
    	str[11] = '\0';
    
    	if (number < 0){
    		puts("ERROR: number is negative\n");
    		return 0;
    	}
    
    	if (number == 0){
    		str[i--] = '0';
    	} else {
    		while (number != 0){
    			str[i--] = mask[number % 16];
    			number /= 16;
    		}
    	}
    	str[i--] = 'x';
    	str[i] = '0';
    
    	return str+i;
    }
    
    
    void print_hexnum(int number)
    {
    	char* pnt;
    	puts("test");
    	pnt = string_hexnum(number);
    	puts(pnt);
    	puts("test");
    }
    
    
    int main(void)
    {
    	print_hexnum(888);
    
    	return 0;
    }
    
    Problemom je, ze sa to cislo nevypise, zostane prazdny riadok. Nechcem na to pouzit ziadnu funkciu z kniznice. Ked som to debuggoval, tak som videl, ze do pamete sa vsetko uklada ako ma. pnt ukazuje na prvy znak retazca - '0'.

    Dakujem.
    Hovor múdro, nepriateľ načúva ! -- S. J. Lec --

    Řešení dotazu:


    Odpovědi

    Řešení 1× (martin() (tazatel))
    11.9.2009 20:51 ams
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex

    Chyba je v tom, ze vracite odkaz na lokalni promennou str. Bud pouzijte malloc/free, anebo zmente deklaraci char str[12] na static char str[12]. Pak to ovsem nebude fungovat v multithread programech, ale to, tusim, ani nechcete :)

    Řešení 1× (martin() (tazatel))
    11.9.2009 20:53 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    return str+i;
    Nemůžete vracet ukazatel na lokální proměnnou - jakékoliv další volání funkce zásobník přepíše. V lepším případě to nebude fungovat, v horším případě to upadne.
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    martin() avatar 11.9.2009 21:06 martin() | skóre: 6 | Prievidza / Bratislava
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    Dakujem za reakcie, zas som sa naucil nieco nove ;-)

    Eclipse mi vyhodil warning, ze vraciam adresu lokalnej premennej, ale uspesne som to ignoroval.

    Este raz dakujem.
    Hovor múdro, nepriateľ načúva ! -- S. J. Lec --
    Pavel Stárek avatar 11.9.2009 21:32 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    To byla nějaká školní úloha se zákazem používat knihovní funkce a funkce pro formátování výstupu? Mě z toho zadání vyšlo toto:
    #include <stdio.h>
    #include <string.h>
    
    int main(int argc, char *argv[]) {
      unsigned long iCislo;
      
      if (argc > 1) {
        iCislo = atoi(argv[1]);
        printf("Cislo %s je hexa: 0x%X\n", argv[1], iCislo);
        return(0);
      }
      printf("Malo parametru!\n");
      return(1);
    } 
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    martin() avatar 11.9.2009 22:00 martin() | skóre: 6 | Prievidza / Bratislava
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    Nie. Povedal som si, ze naprogramujem funkciu, ktora bude vypisovat cisla v hex. So skolou to nemalo nic spolocne.
    Hovor múdro, nepriateľ načúva ! -- S. J. Lec --
    14.9.2009 13:49 l4m4
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    Rozhodl-li ses takovou funkci naprogramovat, tak ji naprogramuj a nenech ji za sebe programovat jiné.

    Pokud takovou funkci pouze potřebuješ, tak bych vzhledem k tomu, že vstup decimálních čísel a výpis hexadecimálních jsou operace, u kterých lze čekat, že už je někdo naprogramoval před dvaceti lety a dal do standardní knihovny, čekal spíš otázku na to, kterou knihovní funkci k tomu použít než jak to naprogramovat.
    15.9.2009 08:27 dark
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex

    Sak ji naprogramoval a nefungovala mu, tak se zeptal, nic spatneho na tom nevidim.

    15.9.2009 09:35 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    Však l4m4 jen shrnul a potvrdil co bylo už v zásadě řečeno.
    14.9.2009 12:05 dark
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex

    Nevim, jestli je 2x rozumne pouzit %X na 'unsigned long'.

    14.9.2009 13:52 l4m4
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    Když už používáš ten long jako typ dat, tak používej odpovídající funkce...
    printf("%lx\n", atol(argv[1]));
             ^         ^
    
    A return není funkce.
    Pavel Stárek avatar 15.9.2009 16:49 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: [C] program na prevod dec -> hex
    Nojo, nojo, to byl jen takový rychlý pokus. Spíš pro ukázání, že takovéto funkce není třeba programovat, neboli netřeba vynalézat kolo. :-) Já céčko moc nepoužívám, já raději Python.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.