Microsoft KB Archive/129401

= Using Low-Level I/O to Remove Leading CR/LF Created by LIST =

Article ID: 129401

Article Last Modified on 2/22/2005

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 6.0 Professional Edition
 * Microsoft Visual FoxPro 7.0 Professional Edition
 * Microsoft FoxPro 2.6a Standard Edition

-



This article was previously published under Q129401



SUMMARY
The LIST TO FILE command places a CR/LF at the beginning of the file. If the file created is used as input to another program, it may be necessary to programmatically remove these two leading bytes. One way of doing this is through the use of low-level file I/O functions.



MORE INFORMATION
The following code is an example of how to use low-level file functions to alter a text file that begins with a carriage return/line feed pair: * Open the sample table Customer.dbf CLOSE ALL CLEAR ALL USE customer

* Create the text file. IF "Visual" $ VERSION && Check if you are running VFP 3.0 or later LIST TO FILE output.txt FOR country="USA" ELSE LIST TO FILE output.txt FOR state="FL" ENDIF * Now the text file has a leading CR/LF at the beginning. * To get rid of this, do the following: handle=FOPEN("output.txt",12)     && Low level open, read/write. IF handle > 0                     && Do you have a good open? * When opened, file pointer points at beginning of file. * To get size of file, seek end of file, return the number of bytes * the pointer was moved. SIZE=FSEEK(handle,0,2) FOR LOOP=2 TO SIZE =FSEEK(handle,LOOP,0)     && Go to data byte to be copied. the_char = FREAD(handle,1) =FSEEK(handle,LOOP-2,0)   && Where to write the data. =FWRITE(handle,the_char,1) && Write the character. ENDFOR * Now that the data in the file has been migrated two * bytes down to cover up the CR/LF at the beginning * of the file, read just the size of the file to     * truncate the two garbage bytes at the end of the file. =FCHSIZE(handle,SIZE-2) =FCLOSE(handle)  && Done. ENDIF

Additional query words: VFoxWin FoxWin hard return cr / lf input output

Keywords: kbcode KB129401

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.