[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.05.09
Prihlásený: 16.01.18
Príspevky: 95
Témy: 39 | 39
Bydlisko: Michalovce
NapísalOffline : 12.05.2012 18:17 | Zistenie textoveho suboru

Ako by som v za behu programu zistil ci je zadany subor textovy alebo binarny. Bez volania system() alebo fork(), aby som nespustal prikaz file. Ci na to nieje finta nejakym sposobom to zistit hned. Lebo mna len napada ze si otvorim subor ako binarny precitam zopar znakov a su to pismena tak je akoze textovy. Ale to nemusi platit furt. File vypise okamzite aj kodovanie. Je to ulozene niekde v subore?


Offline

Skúsený užívateľ
Skúsený užívateľ
Zistenie textoveho suboru

Registrovaný: 11.01.09
Prihlásený: 26.01.18
Príspevky: 1290
Témy: 9 | 9
Bydlisko: HE
NapísalOffline : 12.05.2012 18:57 | Zistenie textoveho suboru

Ano, kodovanie je ulozene priamo v subore, kodovania maju svoju specificku hlavicku. Ale nie vzdy ti to pomoze, povedzme, ze vytvoris program, ktory do suboru uklada struktury, v ktorych je retazec, rozne ciselne udaje, atd. Subor je tym padom binarny a predsa nema specialnu hlavicku. Pozri sa na tieto stranky, tu padli podobne otazky:
http://stackoverflow.com/questions/2775 ... -or-binary
http://www.linuxquestions.org/questions ... le-626280/

Btw, ak sa vyhybas pouzitiu system len kvoli tomu, aby sa vysledok nevypisoval v stdout, tak tomu sa da velmi jednoducho vyhnut vytvorenim rur ( pipe ). Takto jednoducho budes len parsovat, co ti vyhodil prikaz file. Ukazka:
Kód:
#include <stdio.h>

int main()
{

    int     c, i = 0;
    char    result[1024];
    FILE    *pipe = popen( "file subor.x", "r" );

    while ( ( c = fgetc( pipe ) ) != EOF )
        result[i++] = (char) c;

    result[i] = '\0';
    pclose( pipe );

    printf( "%s\n", result );       /* v premennej je ulozene: "subor.x: PCX ver. 2.5 image data" */
    return 0;

}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 23.05.09
Prihlásený: 16.01.18
Príspevky: 95
Témy: 39 | 39
Bydlisko: Michalovce
Napísal autor témyOffline : 12.05.2012 22:18 | Zistenie textoveho suboru

systemu som sa chcel vyhnut preto lebo som chcel vediet, ako to vlastne ten file robi. Docital som sa ze file includuje magic.h. Podla mna by sa dalo pouzit nieco taketo:

Kód:
#include <magic.h>

int main() {
magic_t myt = magic_open(MAGIC_CONTINUE|MAGIC_ERROR/*|MAGIC_DEBUG*/|MAGIC_MIME);
magic_load(myt,NULL);
printf("magic output: '%s'\n",magic_file(myt,__FILE__));
magic_close(myt);

return 0;
}


pricom sa musi kompilovat

Kód:
g++ -lmagic helloworld.c -o helloworld


alebo este je finta

Citácia:
If the first two bytes are hex FE FF, the file is tentatively UTF-16 BE.
If the first two bytes are hex FF FE, and the following two bytes are not hex 00 00 , the file is tentatively UTF-16 LE.
If the first four bytes are hex 00 00 FE FF, the file is tentatively UTF-32 BE.
If the first four bytes are hex FF FE 00 00, the file is tentatively UTF-32 LE.



ja len pisem keby nahodou mal niekto rovnaky problem ako ja


 [ Príspevkov: 3 ] 


Zistenie textoveho suboru



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

kodovanie textoveho suboru

v Ostatné programy

4

216

25.03.2010 0:12

DeaDMan

V tomto fóre nie sú ďalšie neprečítané témy.

Hra z textoveho suboru

v Assembler, C, C++, Pascal, Java

2

195

19.04.2017 7:04

domiha

V tomto fóre nie sú ďalšie neprečítané témy.

výpis textu z textového súboru

v HTML, XHTML, XML, CSS

1

399

13.10.2009 16:40

Snacker

V tomto fóre nie sú ďalšie neprečítané témy.

výpis textu z textového súboru

v PHP, ASP

3

794

14.10.2009 17:50

LooL

V tomto fóre nie sú ďalšie neprečítané témy.

Editacia textoveho suboru v PHP

v PHP, ASP

1

300

08.08.2011 17:25

Unlink

V tomto fóre nie sú ďalšie neprečítané témy.

wordress import clankov z textoveho suboru

v Redakčné systémy

1

395

24.06.2011 15:19

don jebot

V tomto fóre nie sú ďalšie neprečítané témy.

c++ načítavanie z textového súboru atď..

v Assembler, C, C++, Pascal, Java

0

401

30.12.2011 17:03

head0r

V tomto fóre nie sú ďalšie neprečítané témy.

C# čítanie jedného riadka z textového súboru

v Assembler, C, C++, Pascal, Java

4

235

27.06.2014 14:08

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Zistenie pripony suboru

v PHP, ASP

8

951

15.03.2008 11:05

jaji

V tomto fóre nie sú ďalšie neprečítané témy.

Zistenie názvu aktuálneho súboru

v PHP, ASP

2

306

29.08.2008 8:50

lolofon.lol

V tomto fóre nie sú ďalšie neprečítané témy.

zistenie cesty k suboru

v PHP, ASP

3

409

25.08.2008 17:25

php_user

V tomto fóre nie sú ďalšie neprečítané témy.

zistenie pristupu k suboru

v Ostatné programy

0

349

10.02.2009 14:51

HMilos

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler, procesor 8086, zistenie veľkosti súboru

v Assembler, C, C++, Pascal, Java

0

166

15.03.2014 16:02

wink624

V tomto fóre nie sú ďalšie neprečítané témy.

zistenie url k flv suboru na YT

v PHP, ASP

4

322

26.10.2010 15:55

Blackdevil

V tomto fóre nie sú ďalšie neprečítané témy.

softver na zistenie kvality zdroja daneho audio suboru

v Audio programy

7

1331

13.03.2011 13:33

PeeSko

V tomto fóre nie sú ďalšie neprečítané témy.

Prispôsobenie textového okienka...

v HTML, XHTML, XML, CSS

4

357

08.08.2011 19:35

S-player



© 2005 - 2018 PCforum, edited by JanoF