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 14:44 | Nová verze

Byla vydána nová verze 42.3 linuxové distribuce openSUSE Leap. Jedná se už o třetí vydání, které staví na SUSE Linux Enterprise (SLE). Výchozím jádrem je opět poslední LTS verze, tedy řada 4.4. Podrobnosti v oznámení o vydání a v poznámkách k vydání.

Ladislav Hagara | Komentářů: 6
dnes 14:30 | Nová verze

Google Chrome 60 byl prohlášen za stabilní. Nejnovější stabilní verze 60.0.3112.78 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 40 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 22:33 | IT novinky

Společnosti Adobe, Apple, Facebook, Google, Microsoft a Mozilla společně oznámily konec Flashe. Podpora Flashe oficiálně skončí na konci roku 2020.

Ladislav Hagara | Komentářů: 13
včera 05:55 | Komunita

Před 10 lety, v červenci 2007, se začal prodávat svobodný chytrý telefon Neo 1973 (vnitřní označení GTA01). Za jeho vývojem stáli vývojáři projektu Openmoko (Wikipedie). O rok později bylo možné koupit jejich druhý telefon Neo FreeRunner (GTA02). V roce 2011 byl představena platforma GTA04. Tuto platformu využívá také projekt Neo900, jehož cílem je vývoj nástupce telefonu Nokia N900. Nahlédnutí do historie Openmoko a další informace v článku na Vanille.de [Hacker News].

Ladislav Hagara | Komentářů: 22
včera 04:44 | Komunita

Tým Debianu zabývající se reprodukovatelnými sestaveními (Reproducible Builds), tj. kdokoli může nezávisle ověřit, že daný binární .deb balíček vznikl překladem daných zdrojových kódů, oznámil, že 94 % balíčků Debianu lze přeložit a sestavit reprodukovatelně. V únory 2015 to bylo 83 % [reddit].

Ladislav Hagara | Komentářů: 4
24.7. 11:22 | Komunita

Mozilla.cz informuje, že na blogu Mozilly věnovaném bezpečnosti byly zveřejněny výsledky bezpečnostního auditu služby Firefox Accounts, v českých překladech účet Firefoxu, sloužící hlavně k přihlašování k synchronizaci Firefox Sync. Nalezeno bylo celkem 15 bezpečnostních chyb, z toho jedna byla označena jako kritická a tři jako vážné.

Ladislav Hagara | Komentářů: 0
24.7. 11:00 | Nová verze

Byla vydána první stabilní verze 1.0 svobodného komunikačního softwaru Ring (Wikipedie). Ring, původně SFLphone, je součástí projektu GNU [reddit].

Ladislav Hagara | Komentářů: 3
24.7. 06:00 | Zajímavý projekt

Warner Skoch na svých stránkách zveřejnil návod (YouTube) na zhotovení kapesní herní konzole MintyPi. Konzole MintyPi je postavena na Raspberry Pi Zero W a RetroPie. Jako obal slouží plechová krabička od mentolek.

Ladislav Hagara | Komentářů: 0
23.7. 02:00 | Nová verze

Byl vydán Debian 9.1, tj. první opravná verze Debianu 9 s kódovým názvem Stretch a Debian 8.9, tj. devátá opravná verze Debianu 8 s kódovým názvem Jessie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 9 a Debianu 8 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 38
22.7. 15:50 | Zajímavý článek

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice zveřejnila čtyřiačtyřicetistránkovou výroční zprávu za rok 2016. K dispozici je ve formátu pdf ve vysokém (21,68 MB) a nízkém (7,1 MB) rozlišení. Zpráva byla vytvořena ve Scribusu.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (18%)
 (76%)
Celkem 99 hlasů
 Komentářů: 5, poslední dnes 08:26
    Rozcestník

    Dotaz: Pole retezcu v Cecku

    26.9.2003 10:51 Tom
    Pole retezcu v Cecku
    Přečteno: 1899×
    Zdravim,

    da se prosim vytvorit nejakym zpusobem pole retezcu, pokud pri kompilaci nevim kolik prvku (radku) bude obsahovat ?

    klasicky se definuje pomoci

    napr char *p_text[4];

    p_text[0]= "prvni"; p_text[1]= "druhy"; atd.

    ale jak nadefinovat toto pole pokud nebudu znat pocet "radku" pole?

    Tom

    Odpovědi

    26.9.2003 12:07 Dušan Merta | skóre: 3 | Trnávka
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    Tohle by ti mohl pomoct:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define RADKY 5
    #define DELKA 256
    int main(void) {
      char **text;
      int i;
      
      /* Alokace pole. */
      text=(char **) malloc(RADKY*sizeof(char *));
      for (i=0; i<RADKY; i++)
        text[i]=(char *) malloc(DELKA*sizeof(char));
        
      /* Neco do nej dame. */
      strcpy(text[0], "prvni");
      strcpy(text[1], "druhy");
      
      /* Zkusime to vytisknout. */
      printf("%s", text[0]);
      
      /* Uvolneni pole. */
      for (i=0; i<RADKY; i++) free(text[i]);
      free(text);
      
      return(0);
    }
    
    Místo RADKY a DELKA můžeš mít libvolnou proměnnou typu int. Nezapomeň, že dvourozměrné pole musíš uvolňovat ve dvou krocích. Snad jsem to trefil, kdyžtak napiš mail.
    26.9.2003 12:13 Maud Lebowski
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    mas to asi spravne, ale on se ptal na to co delat kdyz neznas predem tu hodnotu RADKY. Zrejme bude treba to davat do tzv zasobniku, cili vytvorit strukturu s jednim ukazatelem na data a druhym na dalsi prvek:
    typedef struct {
      char *radek;
      struct *radek;
    } radek;
    
    (ted si nejsem jisty syntaxi) a pak postupne pridavat prvky.. no a zpetne prochazeni taky bude horor... cili jednoducha funkce v C na to neexistuje, moznosti jsou: naprogramovat si to sam, pouzit C++ (asi nejlepsi volba) nebo pouzit nejaky script jazyk
    26.9.2003 12:44 Dušan Merta | skóre: 3 | Trnávka
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    Pokud se pocet radku meni v prubehu behu programu, tak je opravdu nejlepsi zasobnik, ale pokud pocet radku neni znam v dobe komilace, ale pri behu se jednou urci, napriklad takto:
    printf("Zadej pocet radku: ");
    scanf("%d", &radky);
    
    tak pak muj priklad funguje, staci misto RADKY napsat radky:
    /* Alokace pole. */
      text=(char **) malloc(radky*sizeof(char *));
      for (i=0; i<radky; i++)
        text[i]=(char *) malloc(DELKA*sizeof(char));
    
    a je to jednodussi.
    BTW:
    typedef struct {
      char *retezec;
      radek *dalsi;
      radek *predchozi;
    } radek;
    
    Tohle resi docela dobre zpetne prochazeni a je to myslim dobre.
    26.9.2003 13:21 Maud Lebowski
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    jo lze to libovolne komplikovat napriklad hledanim ve vyvazenych b stromech..:-) jinak me ale jste napadla jedna vec kterou pozuivam kdyz nejde o moc dat a hodi se s nima pracovat jako s polem (typicky zpracovani dat ve fortranu), pak lze pouzit pole tak, ze se nejprve naplni 2 prvky, kdyz to nestaci tak se 2 prekkopiruji do 4 prvkoveho pole, kdyz ani to ne, tak se prekopiruje 4 prvky a vytvori 16 atd... velmi sikovne a rychle, bohuzel trochu zrout pameti..:-), ale v tomto pripade, kdy by se alokovalo jen 4byte pole ukazatelu na stringy je to urcite lepsi nez se drbat se zasobnikem
    Josef Kufner avatar 26.9.2003 13:43 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    typedef struct {
      char *retezec;
      radek *dalsi;
      radek *predchozi;
    } radek;
    
    
    by melo byt:
    
    
    typedef struct s_radek {
      char *retezec;
      struct s_radek *dalsi;
      struct s_radek *predchozi;
    } radek;
    
    Protoze radek neni tou dobou jeste deklarovan, ale struct s_radek jiz ano.
    Hello world ! Segmentation fault (core dumped)
    26.9.2003 14:06 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    Stejně je to vynalezání kola... (tedy, na něčem se člověk to C naučit musí, že...) Ale když chci obousměrně linkované seznamy a všechny možné funkce s nimi operující, vystačím si s #include <glib.h> (stejně tak, když chci jednosměrné seznamy, hashe, stromy, resizující se pole, etc.)
    26.9.2003 12:13 sam
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    pokial viem, v c-cku neexistuju datove typy, ktore by si sami regulovali velkost podla potreby. uz aj ten tvoj priklad je podla mna troska nepresny.

    ja by som to robil takto:
    char **p;
    p = (char **)malloc(pocet_riadkov * sizeof(char *));
    p[0] = (char *)malloc(velkost_retazca * sizeof(char));
    p[1] = (char *)malloc(velkost_retazca * sizeof(char));
    ...

    26.9.2003 13:00 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    Neexistují je silné slovo, nejsou přímo součástí jazyka, nicméně vše lze doprogramovat ;-) několik takových struktur je třeba v glib. gcc umožňuje int foo(int n) { char *p[n]; ... }, ale standardní C bohužel ne. Jinak je třeba použít malloc/alloca...
    28.9.2003 12:12 ApoC
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    A nebo v C++ pouzit vektor :o)
    28.9.2003 12:32 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    A bude se to kompilovat půl hodiny... ;-)
    CIJOML avatar 28.9.2003 16:58 CIJOML | skóre: 58 | Praha
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    A to vadi? Dulezita je konecna funkcnost
    28.9.2003 17:14 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    Jo, vadí. Velké projekty v C++ se [s gcc] kompilují tak dlouho, že dřív umřeš, než něco vyvineš, takže na žádnou konečnou funkčnost nedojde... (a to i s ccache, protože preprocesování se tím nezbavíš, a než se načte pár STL hlaviček, můžeš si s klidem skočit na oběd).
    28.9.2003 17:25 Beda
    Rozbalit Rozbalit vše Pole retezcu v Cecku
    ... to jsem tak jednou kompiloval s g++ orbit a par veci okolo. no a dopadlo to tak, ze pro nedostatek pameti a swapu (dohromady >1G) to neuneslo par regulernich daemonu a byly odporouceny na smrt => g++ uz se uz nejmenuje g++ a g++ nedela to co se obvykle od g++ ocekava. vzivote uz si nelajznu kompilovat cokoliv v g++ na tom serveru (je desne nenazrany) a kdybych to omezil pod paricnou mez, tak by to stejne slitlo pri kompilaci, takze je to na $#%^@#

    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.