abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 1
    včera 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

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

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

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

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

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

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 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ářů: 5
    včera 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

    Ladislav Hagara | Komentářů: 2
    5.5. 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    5.5. 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    4.5. 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (15%)
     (14%)
    Celkem 119 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    Rozcestník

    Dotaz: CRLF do konsole a v jazyce C

    12.1.2011 07:38 roman
    CRLF do konsole a v jazyce C
    Přečteno: 533×

    Dobry den,

    mam takovou laickou otacku ve starem DOSu jsem pouzival pro vlozeni znaku z ascii tabulky kombinaci Alt + kod_znaku,  napr. Alt + 13, Alt + 10, Alt + 92, coz bohuzel na linux konzoli nefunguje (pouzivam KDE4, konzoli prikazem konsole), existuje nejake alternativa jak toto udelat? (potreboval bych v prubehu zadavani pridat do zadavaneho retezce CRLF).

    A druha otazka souvisejici, v jazyce C nactu vstup z klavesnice (scanf) do string promene a ted bych rad na konec teto promena pridal opet sekvenci CRLF, lze to udelat pomoci spojovani retezci tedy fce strcat, jak zadam znaky crlf? Pomoci \?

    Omlouvam se za hloupy dotaz. Roman

    Odpovědi

    12.1.2011 08:45 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: CRLF do konsole a v jazyce C
    Zadávat znaky jsem nikdy přes alt+ něco nemusel takže neporadím - tisknutelné znaky najdeš všechny na klávesnici některé pomocí kombinace AltGr + znak -> AltGr + e = € a pod....

    Jinak zadání CRLF normálně v C = "\r" a "\n"

    Já jsem na linuxu pokud program měl výstup dat pro msdos používal tohle:
    fprintf(fw,"BEGIN:VCALENDAR\r\n");
    fprintf(fw,"VERSION:2.0\r\n");
    fprintf(fw, "BEGIN:VEVENT\r\n");
    fprintf(fw, "SUMMARY:%s\r\n", UTF8toWindows( (char *) linka));
    
    
    UTF8toWindows( (char *) linka) převádí kodování.
    /* převod kodování */
    
    char * UTF8toWindows (char * from)
    {
        char *p1, *p2;
        iconv_t i;
        size_t fromlen, tolen;
        size_t iconv_value;
    
        errno=0;
    	
        if (strlen(from) > DELKA_POZNAMKY) {
    	perror("ICONV: Poznámka je moc dlouhá.");
            exit(errno);
        }
    
    
        memset(convStr,0,sizeof(convStr));
        tolen = fromlen = strlen(from);
        p1 = (char *)from;
        p2 = (char *)convStr;
    
        i = iconv_open("WINDOWS-1250", "UTF-8");
        if (i == (iconv_t) -1) {
            if (errno == EINVAL)
    	  perror("ICONV: Nepodporuji převod z UTF-8 do CP1250.");
    	else
    	  perror("ICONV: Chyba převodu kodování.");
              exit(errno);
    
        }
    
    
    
        /* Převod */
        /* iconv_value = iconv(i, (const char **)&p1, &fromlen, &p2, &tolen); */
        iconv_value = iconv(i, &p1, &fromlen, &p2, &tolen);
        if (iconv_value == (size_t) -1) {
            perror ("ICONV: Převod kodování se nepovedl.");
    	exit(errno);
        }
        iconv_close(i);
        return(convStr);
    }
    
    
    
    
    12.1.2011 10:01 mato
    Rozbalit Rozbalit vše Re: CRLF do konsole a v jazyce C
    pamatam si, ze pod DOSom to bolo hlavne oblubene kvoli kresleniu okien :)
    mozes ich escapnut pomocou \x<HEX_NR>, tj tvoje CRLF by bolo \xa\xd, napriklad "Helo\n\r" vies zapisat ako
    
    fprintf (stdout, "Helo\xa\xd");  
    /* ale aj ako: */
    fprintf (stdout, "\x48\x65\x6c\x6f");
    
    vkladat znak mozes sposobom:
    
    char test[10] = "helo"; 
    test[4] = '\xa';
    test[5] = '\xd'; 
    /* alebo aj /*
    test[4] = '\n';
    test[5] = '\r';
    
    12.1.2011 16:00 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: CRLF do konsole a v jazyce C
    Vkladat nektere kontrolni znaky jde pres Ctrl-V + control character (nebo jek se to jmenuje). CR lze vlozit pomoci Ctrl-V + Ctrl-M an LF pomoci Ctrl-V + Ctrl-J. Funguje i kdyz se drzi Ctrl, takze celou sekvenci lze rychle napsat: stisknout CTRL -> V -> M -> V -> J -> poustit Ctrl.

    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.