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

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 11:55 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 8
    včera 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 7
    včera 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 5
    včera 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    16.8. 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    16.8. 01:22 | Nová verze

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2416 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: Ignore '\n'

    11.5.2009 17:58 C-coder
    Ignore '\n'
    Přečteno: 354×

    Dobry den,

    chtel bych se zeptat, jestli je mozny ignorovat '\n' za konzolovym vstupem.

    Tedy program si vyzada naplnit premennou i hodnotou 45. scanf("%i", &i); Kdyz uzivatel zada 45<ENTER>, v konzole se automaticky hodi vozik na novej radek. Ja chci zabranit tomu - tedy pokracovat v zadku, jenom aby bola promenna i naplnena a dalsi vystup na stdout zobrazen na tou istou radku.

    Dekuju.

    Odpovědi

    11.5.2009 18:13 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Ignore '\n'
    Hladaj "nebuferovany vstup"; priprav sa vsak, ze citanie bude znacne zlozitejsie, nakolko budes musiet nejako urcit, kde je koniec nacitavaneho cisla.

    Btw, ten preklep s/r/z/ je roztomily. :-)
    11.5.2009 18:39 C-coder
    Rozbalit Rozbalit vše Re: Ignore '\n'

    Dekuji, skusim pohledat. Jinak o jakej preklep se jedna? Nejak jsem zadnej nepostrehl.

    11.5.2009 18:41 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Ignore '\n'
    ... tedy pokracovani v zadku.
    Fuky avatar 11.5.2009 22:40 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Ignore '\n'
    Příloha:

    Případně lze vycházet z následující modifikace ukázkového programu kbhit.c z Linux - začínáme programovat. Vysvětlení začíná na straně 167.

    $ ./kbhit
    9 = 0x9; 10 = 0xA; 11 = 0xB; 12 = 0xC;
    

    $ cat kbhit.c
    #include <stdio.h>
    #include <string.h>
    #include <termios.h>
    #include <term.h>
    #include <curses.h>
    #include <unistd.h>
    
    #define BUFFER_MAX 6
    
    static struct termios initial_settings;
    static struct termios new_settings;    
    
    static void init_keyboard(void)
    {                              
        tcgetattr(0, &initial_settings);
        new_settings = initial_settings;
        new_settings.c_lflag &= ~ICANON;
        new_settings.c_lflag &= ~ECHO;  
        new_settings.c_lflag &= ~ISIG;
        new_settings.c_cc[VMIN] = 1;
        new_settings.c_cc[VTIME] = 0;
        tcsetattr(0, TCSANOW, &new_settings);
    }
    
    static void close_keyboard(void)
    {
        tcsetattr(0, TCSANOW, &initial_settings);
    }
    
    int main(int argc, char *argv[])
    {
        int c = 0;
        int index = 0;
        int number;
        char buffer[BUFFER_MAX+1];
    
        init_keyboard();
    
        while (c != 'q') {
            if (index == 0) {
                memset(buffer, 0, BUFFER_MAX+1);
            }
    
            if ((((c = getchar()) == '\n')) && (index != 0)) {
                printf(" = 0x%X; ", atoi(buffer));
                index = 0;
                continue;
            }
    
            if ((index < BUFFER_MAX) && isdigit(c)) {
                buffer[index++] = c;
                putchar(c);
            }
        }
    
        close_keyboard();
        return 0;
    }
    

    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.