digitalmars.D.learn - Error: conversion, reading from file
- Michael P. (26/26) Jul 19 2009 I've having some trouble reading from a file.
- bearophile (8/14) Jul 19 2009 Try:
- Michael P. (7/17) Jul 19 2009 That didn't work for me. Doing this:
- Saaa (1/3) Jul 19 2009 Agreed!
I've having some trouble reading from a file.
I am trying to read a list of high scores, each on a separate line, like this:
440
0
0
0
0
But with my code, I get an error saying: Error: conversion.
Code:
//Load high scores
char[] file;
int[] highScoreList;
int nextScore;
file = cast(char[])read( "highscore.txt" );
for( int i = 0; i < 5; i++ )
{
nextScore = std.regexp.find( file, "\n" );
highScoreList ~= toInt( file[ 0 .. nextScore ] );
writefln(highScoreList[i]);
file = file[ nextScore .. $ ];
}
The output I get is:
440
Error: conversion
The high scores that are printed above is what is in the file.
I am using DMD1.046 with Phobos.
Jul 19 2009
Michael P.:The output I get is: 440 Error: conversion The high scores that are printed above is what is in the file. I am using DMD1.046 with Phobos.Try: import std.string: strip; ... highScoreList ~= toInt(strip(file[0 .. nextScore])); I have never understand the rationale of not ignoring whitespace inside the toInt, I think it's an ugly design. Bye, bearophile
Jul 19 2009
bearophile Wrote: .Try: import std.string: strip; ... highScoreList ~= toInt(strip(file[0 .. nextScore])); I have never understand the rationale of not ignoring whitespace inside the toInt, I think it's an ugly design. Bye, bearophileThat didn't work for me. Doing this: nextScore = std.regexp.find( file, "\n" ); highScoreList ~= toInt( file[ 0 .. nextScore ] ); file = file[ nextScore + 1 .. $ ]; //changed from: file = file[ nextScore .. $ ]; Worked though.
Jul 19 2009
I have never understand the rationale of not ignoring whitespace inside the toInt, I think it's an ugly design.Agreed!
Jul 19 2009









Michael P. <baseball.mjp gmail.com> 