[cstex] test na prázdný soubor?

Zdenek Wagner zdenek.wagner at gmail.com
Thu Aug 27 12:27:26 CEST 2009


Dne 27. srpen 2009 11:55 Petr Sojka <sojka at fi.muni.cz> napsal(a):
> On Wed, Aug 26, 2009 at 11:30:41PM +0200, Petr Tomasek wrote:
> Dobrý den!
>
>> Lze, prosím, v plainu nějak snadno otestovat, zda-li daný soubor není
>> prázdný? Tj. jde mi o rozlišení mezi souborem s nulovou délkou
>> a souborem s nějakým obsahem.
>>
>> Soubor nejpre testuji pomocí \ifeof zda-li vůbec existuje a potom
>> vnořím krz \include. Ovšem potřeboval bych připojit po vnoření
>> souboru "\par", ale pouze, pokud soubor není prázdný.
>>
>> Napadlo mě použít \read a poté nějak otestovat, zda-li je načtená
>> řádka prázdná. Ovšem to mi nechce fungovat, zkusil jsem toto (jako test):
>>
Pokud máte jistotu, že se používá dostatečně nový pdftex, můžete
velikost souboru zjistit pomocí \pdffilesize.

>> \def\t#1{%
>> \immediate\openin\fin=#1
>> \ifeof\fin
>>   [#1: FILE NOT FOUND]\par
>> \else
>>  \immediate\read\fin to\fetchoneline
>>  \ifx\fetchoneline\empty
>>    [#1: FILE EMPTY]\par
>>  \else
>>   [#1] \fetchoneline\par
>>  \fi
>> \fi
>> \immediate\closein\fin
>> }
>>
>> Zdá se, že \read i v případě prázdného souboru do \fetchoneline
>> něco dá.
> Ano, da. Po vypsani toho, co tam TeX da (pres \message) bych
> Vase makro upravil takto:
>
> \def\emptyfile{\par }
> \def\t#1{%
> \immediate\openin\fin=#1
> \ifeof\fin
>  [#1: FILE NOT FOUND]\par
> \else
>  \immediate\read\fin to\fetchoneline
>  \ifx\fetchoneline\emptyfile
>   [#1: FILE EMPTY]\par
>  \else
>  [#1] \fetchoneline\par
>  \fi
> \fi
> \immediate\closein\fin
> }
>
> S pozdravem
> Petr Sojka
>
>> Netušíte, prosím, kde dělám chybu, resp. jestli existuje jiný, jednoduchý
>> způsob, jak tento test provést?
>>
>> Děkuji
>> Petr Tomášek
>>
>> --
>> Petr Tomasek <http://www.etf.cuni.cz/~tomasek>
>> Jabber: butrus at jabbim.cz
>> SIP: butrus at ekiga.net
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> http://lists.felk.cvut.cz/mailman/listinfo/cstex
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>



-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz



More information about the csTeX mailing list