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í
×
    včera 16:44 | Nová verze

    Byl vydán Mozilla Firefox 145.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Ukončena byla podpora 32bitového Firefoxu pro Linux. Přidána byla podpora Matrosky. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 145 bude brzy k dispozici také na Flathubu a Snapcraftu.

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

    Lidé.cz (Wikipedie) jsou zpět jako sociální síť s "ambicí stát se místem pro kultivované debaty a bezpečným online prostředím".

    Ladislav Hagara | Komentářů: 38
    včera 10:33 | Nová verze

    Byla vydána nová verze 4.4 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | IT novinky

    ASUS má v nabídce komplexní řešení pro vývoj a nasazení AI: kompaktní stolní AI superpočítač ASUS Ascent GX10 poháněný superčipem NVIDIA GB10 Grace Blackwell a platformou NVIDIA DGX Spark. S operačním systémem NVIDIA DGX založeném na Ubuntu.

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

    Desktopové prostredie Trinity Desktop vyšlo vo verzii R14.1.5. Je tu opravená chyba v tqt komponente spôsobujúca 100% vyťaženie cpu, dlaždice pre viac monitorov a nemenej dôležité su dizajnové zmeny v podobe ikon, pozadí atď. Pridaná bola podpora distribúcií Debian Trixie, Ubuntu Questing, RHEL 10 a OpenSUSE Leap 16.

    lukve | Komentářů: 8
    10.11. 22:11 | Nová verze

    Grafická aplikace Easy Effects (Flathub), původně PulseEffects, umožňující snadno povolovat a zakazovat různé audio efekty v aplikacích používajících multimediální server PipeWire, byla vydána ve verzi 8.0.0. Místo GTK 4 je nově postavená nad Qt, QML a Kirigami.

    Ladislav Hagara | Komentářů: 0
    10.11. 12:22 | Komunita

    Na YouTube lze zhlédnout Godot Engine – 2025 Showreel s ukázkami toho nejlepšího letos vytvořeného v multiplatformním open source herním enginu Godot.

    Ladislav Hagara | Komentářů: 0
    10.11. 10:00 | Humor

    Blíží se konec roku a tím i všemožná vyhlášení slov roku 2025. Dle Collins English Dictionary je slovem roku vibe coding, dle Dictionary.com je to 6-7, …

    Ladislav Hagara | Komentářů: 6
    10.11. 09:55 | IT novinky

    Cloudflare Radar: podíl Linuxu na desktopu dosáhl v listopadu 6,2 %.

    Ladislav Hagara | Komentářů: 4
    9.11. 19:22 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i

    … více »
    bkralik | Komentářů: 6
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (17%)
     (22%)
     (15%)
     (22%)
     (15%)
     (16%)
    Celkem 343 hlasů
     Komentářů: 15, poslední 2.11. 08:25
    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: 802×
    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.