Crazy stuff
    Steven Schveighoffer 
    schveiguy at yahoo.com
       
    Mon Apr 28 22:00:17 PDT 2008
    
    
  
"Tower Ty" wrote
> Goodo I'll give that a try -thanks again.
>
> As an aside I find that with Simens help in the above I can move forward 
> but another problem raises its head with this array business
>
> I am accumulating lines from a text file in my  char[][][] array. It 
> writes the first seven lines of an eight line file OK but on the last line 
> it writes the last line in the correct place but also corrupts the first 
> lines data?
>
> ...
>
> The data is fine unyil the last line
> I produce the data with
>
> foreach (line; new LineIterator!(char) (new FileConduit ("data.csv"))){
>      TableItem item = new TableItem (table, DWT.RIGHT);
>      fields = TextUtil.delimit(line,",");
>
> Anyone have any idea why the data is corrupted?
Yes, LineIterator re-uses the same data buffer while reading the file for 
efficiency.  If you want to save the data that LineIterator gives you, use
fields = TextUtil.delmit(line.dup,",");
What this does is make a copy of the line, then split that up.  When the 
LineIterator re-uses the buffer, it won't affect your copies.
And Tango does not use 'string' as a keyword, that is Phobos only.
Hope that helps.
-Steve 
    
    
More information about the Digitalmars-d-learn
mailing list