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

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 1
    dnes 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

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

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 1
    včera 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

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

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

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

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 2
    včera 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

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

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    včera 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 426 hlasů
     Komentářů: 18, poslední včera 18:34
    Rozcestník

    Dotaz: mime type v c++

    6.4.2007 13:30 PipBoy2000 | skóre: 4 | blog: UglyHacks
    mime type v c++
    Přečteno: 820×
    Dobry den,

    neviete niekdo ako zistim mime type dakeho suboru v c/c++?

    Dakujem

    Řešení dotazu:


    Odpovědi

    Řešení 1× (PipBoy2000 (tazatel))
    Vojta Drbohlav avatar 6.4.2007 13:43 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
    Rozbalit Rozbalit vše Re: mime type v c++
    #include <stdio.h>
    #include <stdlib.h>
    #include <magic.h>
    
    int main(int argc, char** argv)
    {
            if (argc < 2)
            {
                    fprintf(stderr, "Zadej soubor jako prvni argument.\n");
                    exit(1);
            }
    
            int i;
            char* c;
    
            magic_t magic = magic_open(MAGIC_MIME);
            i = magic_load(magic, "/usr/share/misc/file/magic");
            c = (char*) magic_file(magic, argv[1]);
    
            printf("%s\n", c);
    
            magic_close(magic);
    
            return 0;
    }
    
    David Watzke avatar 6.4.2007 13:54 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: mime type v c++
    Dovolím si to trochu zjednodušit...
    #include <stdio.h>
    #include <magic.h>
    
    int main(int argc, char** argv)
    {
    	if (argc != 2)
    	{
    		fputs("Zadej soubor jako prvni argument.\n", stderr);
    		return 1;
    	}
    
    	magic_t magic = magic_open(MAGIC_MIME);
    	magic_load(magic, "/usr/share/misc/file/magic");
    	const char* c = magic_file(magic, argv[1]);
    
    	puts(c);
    
    	magic_close(magic);
    	return 0;
    }
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    6.4.2007 14:55 Sinuhet
    Rozbalit Rozbalit vše Re: mime type v c++
    Dovolim si to trochu po c++stit.
    #include <iostream>
    #include <magic.h>
    
    int main(int argc, char** argv)
    {
    	if (argc != 2) {
    		std::cerr << "Zadej soubor jako prvni argument.\n";
    		return 1;
    	}
    
    	magic_t magic = magic_open(MAGIC_MIME);
    	magic_load(magic, "/usr/share/misc/file/magic");
    
    	std::cout << magic_file(magic, argv[1]);
    
    	magic_close(magic);
    	return 0;
    }
    6.4.2007 14:58 Sinuhet
    Rozbalit Rozbalit vše Re: mime type v c++
    -	std::cout << magic_file(magic, argv[1]);
    +	std::cout << magic_file(magic, argv[1]) << "\n";
    6.4.2007 15:10 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: mime type v c++
    -	std::cout << magic_file(magic, argv[1]) << "\n";
    +	std::cout << magic_file(magic, argv[1]) << std::endl;
    
    :)
    David Watzke avatar 6.4.2007 15:19 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: mime type v c++
    Kdepak, std::endl je mnohem pomalejší než \n.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    stativ avatar 6.4.2007 16:39 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: mime type v c++
    Zase zaručí kompatibilitu se všemi sytémy, čímž si v případě \n tak jistý nejsem.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    David Watzke avatar 6.4.2007 20:26 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: mime type v c++
    Tak to jsem netušil. Kterej systém nepobere \n?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Luboš Doležel (Doli) avatar 6.4.2007 20:39 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: mime type v c++
    Pokud si to pamatuju správně, tak Linux používá LF, Windows CRLF a Mac CR. Ale na Windows samotné LF taky zabírá.
    13.4.2007 21:10 Jirka | skóre: 36
    Rozbalit Rozbalit vše Re: mime type v c++
    Pokud budeš např. používat různé wide stringy, tak ti tam dosadí vždy tu správnou věc.
    6.4.2007 16:39 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: mime type v c++
    pokud se bavime o stdout napojeny na bezny terminal tak bych to nevidel tak dramaticky protoze ten stejne po kazdem '\n' provede flush takze ta rychlost bude srovnatelna
    David Watzke avatar 6.4.2007 20:23 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: mime type v c++
    Testoval jsem to, s "\n" to bylo 4x rychlejší.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    elviin avatar 7.4.2007 00:02 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Re: mime type v c++
    Je to tak, protoze funkce std::endl navic vyflushne buffer. Coz je operace navic. Nadruhou stranu ja jej pouzivam, protoze mam jistotu, ze se text vypise v ocekvany okamzik.
    13.4.2007 15:03 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: mime type v c++
    je to tak pokud presmerujes vystup do souboru

    kdyz to nechas vypisovat pak ten vystup je stejne line buffered takze k vyprazdreni bufferu stejne dochazi po kazdem \n cimz se rozdil snizi na minimum
    6.4.2007 15:32 PipBoy2000 | skóre: 4 | blog: UglyHacks
    Rozbalit Rozbalit vše Re: mime type v c++
    Dakujem
    18.11.2007 13:25 jas
    Rozbalit Rozbalit vše Re: mime type v c++
    Ospravedlňujem sa, že otváram tento starší topic, ale vie mi niekto povedať ako to funguje, ako sa v princípe zisťuje MIME-type? Nedá mi to pomaly spávať, tak by sa zišla aspoň nejaká odpoveď :).
    18.11.2007 19:30 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: Dve neprilis komplikovane otazky
    Obvykle podle obsahu souboru. V /usr/share/file/magic.mime najdete jaka sekvence bajtu se na co prevede (napr. ze kdyz na zacatku najdu ctyri znaky 'GIF8', tak je to image/gif). man magic format souboru, taky si muzete stahnout zdrojaky k file.
    18.11.2007 19:44 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: mime type v c++
    Normální magie, více viz google. Váš dotaz nesouvisí s linuxem a ještě navíc otvíráte x měsíců starý dotaz, to jsou teda způsoby. Ospravedlňování se nic neřeší.

    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.