Parsing a UTF-16LE file line by line, BUG?
    Era Scarecrow via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Mon Jan 16 06:47:23 PST 2017
    
    
  
On Sunday, 15 January 2017 at 19:48:04 UTC, Nestor wrote:
> I see. So correcting my original doubt:
>
> How could I parse an UTF16LE file line by line (producing a 
> proper string in each iteration) without loading the entire 
> file into memory?
Could... roll your own? Although if you wanted it to be UTF-8 
output instead would require a second pass or better yet changing 
how the i iterated.
char[] getLine16LE(File inp = stdin) {
     static char[1024*4] buffer;  //4k reusable buffer, NOT thread 
safe
     int i;
     while(inp.rawRead(buffer[i .. i+2]) != null) {
         if (buffer[i] == '\n')
             break;
         i+=2;
     }
     return buffer[0 .. i];
}
    
    
More information about the Digitalmars-d-learn
mailing list