Mètode ReadTextLine


Prototip

ReadTextLine Proto hHandle:HANDLE, lpszBuffer:LPSTR

Sintaxi

Invoke ReadTextLine, hHandle, lpszBuffer

Funció

Llegeix una línia de text d'un fitxer obert.

Paràmetres

hHandle

Handle del fitxer de text obert (tornat pel mètode OpenTextFile).

lpszFileName

Punter a una zona de memòria (buffer) que rebrà la línia de text. Pot ser NULL si es vol obtenir la llargada de la línia (en bytes).

Valors de retorn

Si el fitxer no s'ha pogut llegir, Eax torna -1.

Si lpszBuffer és el punter a una zona de memòria, Eax torna TRUE si s'ha pogut llegir la línia, o FALSE si s'ha arribat al final del fitxer (EOF).

Si lpszBuffer és NULL, Eax torna la llargada de la línia (en bytes) incloent-hi el caràcter nul final, o FALSE si s'ha arribat al final del fitxer (EOF).


Els caràcters <CR> i <LF> (Carriage Return i Line Feed) determinen el final d'una línia. Aquest mètode llegeix caràcters fins que troba qualsevol de les següents combinacions:

<CR> + <LF>
<LF> + <CR>
<CR> no seguit ni precedit per <LF>
<LF> no seguit ni precedit per de <CR>


NOTA: Els caràcters <CR> i/o <LF> indiquen el final d'una línia, però no es dipositen al buffer apuntat per lpszBuffer.

OBSERVACIONS: El mètode ReadTextLine intenta llegir una cadena Unicode si la aplicació s'està executant com a Unicode, o una cadena ANSI si no (vegeu el mètode IsAppUnicode). Podeu utilitzar ReadTextLineA per llegir cadenes ANSI en aplicacions Unicode, o ReadTextLineW per llegir cadenes Unicode en aplicacions ANSI.

Quan llegiu fitxers Unicode, recordeu que els dos primers bytes (una paraula) no són un caràcter Unicode, sinó un codi que identifica el tipus de format Unicode (0FFFEH = little endian, 0FEFFH = big endian).


IMPORTANT: Cal que us assegureu que la zona de memòria (buffer) apuntada per lpszBuffer és prou gran per rebre la línia que s'ha de llegir. Crideu aquest mètode amb lpszBuffer posat a NULL si voleu saber quants bytes es necessiten per contenir la próxima línia que s'ha de llegir.