It makes sense now. Thanks. :) Steven Schveighoffer Wrote:
> On Sat, 31 Jul 2010 23:10:05 -0400, Andrej Mitrovic > <[email protected]> wrote: > > > Oh and I'm getting the same issue in Python when using CR only. I don't > > know why I have the CR option in the text editor if it doesn't work > > properly. I guess CR is used on the Macs maybe..? > > > > Andrej Mitrovic Wrote: > > > >> I'm getting normal newlines here (XP): > >> > >> C:\output>test.exe > >> import std.file: readText; > >> import std.stdio: write; > >> void main() { > >> string s = readText("test.d"); > >> write(s); > >> } > >> > >> The text used CR+LF newlines. I also tried them using LF newlines, > >> which worked fine. But I've then tried with CR and that gives out weird > >> output like so: > >> > >> } write(s);= readText("test.d"); > > CR means carriage return. This is for old-style line printers. When you > sent a CR, it means, literally, move the carriage back to the front of the > line. When you sent a LF (line feed), it means, feed the paper another > line. > > If you printed a file to such a printer with just line feeds, you would > see: > > import std.file: readText; > import std.stdio: write; > void main() { > ... > > > If you printed the file with just CRs, you would see all the lines > super-imposed over eachother, because the paper is never moved, just the > carriage is returned. > > This is the effect you are seeing, each line is super-imposed over the > other. However, on a terminal, you don't see the residual letters from > previously printed lines, they are completely overwritten. > > Essentially, if you put in a sleep between printing each line, what you'd > see is this: > > import std.file: readText; > > .. pause .. > > import std.stdio: write;t; > > .. pause .. > > void main() {dio: write;t; > > .... > > Hope this helps ;) > > -Steve
