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:22 | Komunita

    Dle plánu byl vývoj Firefoxu přesunut z Mercurialu na Git. Oficiální repozitář se zdrojovými kódy je na GitHubu.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Bezpečnostní upozornění

    V terminálovém multiplexoru GNU Screen byly nalezeny a v upstreamu ve verzi 5.0.1 už opraveny bezpečnostních chyby CVE-2025-23395, CVE-2025-46802, CVE-2025-46803, CVE-2025-46804 a CVE-2025-46805. Podrobnosti na blogu SUSE Security Teamu.

    Ladislav Hagara | Komentářů: 14
    včera 19:33 | Bezpečnostní upozornění

    Training Solo (Paper, GitHub) je nejnovější bezpečnostní problém procesorů Intel s eIBRS a některých procesorů ARM. Intel vydal opravnou verzi 20250512 mikrokódů pro své procesory.

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

    Byla vydána nová verze 25.05.11 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

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

    Svobodný elektronický platební systém GNU Taler (Wikipedie, cgit) byl vydán ve verzi 1.0. GNU Taler chrání soukromí plátců a zároveň zajišťuje, aby byl příjem viditelný pro úřady. S vydáním verze 1.0 byl systém spuštěn ve Švýcarsku.

    Ladislav Hagara | Komentářů: 10
    včera 00:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Komunita

    GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.

    Ladislav Hagara | Komentářů: 7
    10.5. 15:00 | Zajímavý článek

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 29
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 6
    9.5. 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 599 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Dotaz: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C

    13.4.2009 14:38 merlin111 | skóre: 15
    zjistění aktuálního počtu písmen na řádce a řádek terminálu v C
    Přečteno: 228×
    Zdravím,

    Píšu jednoduché programy typu "ahoj světe" v ANSI C a chtěl bych vědět jestli existuje něco na zjištění aktálních rozměrů terminálu, tj, chci aby písmeno 'A' bylo přesně uprostřed obrazovky. Pevně nadefinované rozměry nejsou to pravé.

    Potřebuju napovědět v kterém hlavičkovém souboru to hledat.

    Díky.

    Každá ulice je slepá jen do té doby, než si opatříš buldozer.

    Odpovědi

    13.4.2009 20:51 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C
    Proměnná shellu $COLUMNS obvykle obsahuje počet sloupců. Stačí ji tedy přečíst pomocí getenv. Nevím ale, nakolik je to přenosné.
    13.4.2009 20:58 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C
    Tak jsem zalistoval Beginning Linux Programming a našel jsem lepší řešení:
    #include <stdio.h>
    #include <term.h>
    #include <ncurses.h>
    
    int main() {
    	int rows, cols;
    
    	setupterm(NULL, fileno(stdout), (int*)0);
    	rows = tigetnum("lines");
    	cols = tigetnum("cols");
    	printf("%dx%d\n", cols, rows);
    	return 0;
    }
    
    Slinkovat s ncurses (-lncurses), v případě potřeby přidat include cestu (třeba -I/usr/include/ncurses).
    b42 avatar 13.4.2009 21:01 b42 | skóre: 12 | Ostrava/Brno
    Rozbalit Rozbalit vše Re: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C

    Osobně bych asi použil to, co je popsáno v man tty_ioctl. Dále by se daly využít ncurses, nicméně to je v tomhle případě asi overkill. A pak je tu ještě ta škaredá možnost se čtením proměnných prostředí $LINES a $COLUMNS :)

    13.4.2009 21:05 l4m4
    Rozbalit Rozbalit vše Re: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C
    Dlouho jsem už neviděl, že by ty proměnné byly exportované, alespoň na Linuxu. Takže jsou použitelné ve skriptech v shellu, ale v C programech je ta možnost spíš teoretická...
    b42 avatar 13.4.2009 23:05 b42 | skóre: 12 | Ostrava/Brno
    Rozbalit Rozbalit vše Re: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C

    Jo, je to blbost ... sorry.

    13.4.2009 21:02 l4m4
    Rozbalit Rozbalit vše Re: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C
    #include <stdio.h>
    #include <curses.h>
    
    int
    main(void)
    {
        setupterm(NULL, 1, NULL);
        printf("%d %d\n", tigetnum("cols"), tigetnum("lines"));
        return 0;
    }
    
    Je třeba linkovat s -lcurses.

    Jako další level se můžeš podívat na signál SIGWINCH, případně na celou knihovnu ncurses.
    14.4.2009 00:28 merlin111 | skóre: 15
    Rozbalit Rozbalit vše Re: zjistění aktuálního počtu písmen na řádce a řádek terminálu v C
    Díky, tohle je ono. Tady je funční (pokud nejsou dlouhé řádky) výsledek.
    void vypis(FILE *fr) /* vypis souboru - fr musi být otevřen pro čtení v text */
    {
            char c;
            int p_radek = 1;
                    
            while (c = getc(fr), c !=EOF){
                    putchar(c);
                    if (c == '\n')
                            ++p_radek;
                    if (p_radek == radek) {
                            printf("%*s %ls", sloupcu / 2 + 2, "MORE");
                            p_radek = 1;
                            while (getchar() == '\n')
                                    ;
                            putchar(c);
                    }
            }
    }
    
    void init(void)
    {
            if (setupterm(NULL, 1, NULL) != ERR) {
                    sloupcu = COLS;
                    radek = LINES;
            }
    }
    
    Každá ulice je slepá jen do té doby, než si opatříš buldozer.

    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.