[cstex] test na prázdný soubor?
Petr Sojka
sojka at fi.muni.cz
Thu Aug 27 11:55:06 CEST 2009
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):
>
> \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
More information about the csTeX
mailing list