digitalmars.D.learn - File Ex from std_stdio won't compile
I copied the code below from this site under the std.stdio library reference section and tried to compile it. I downloaded D2/Phobos. Compiler says "fileread.d(4): Error: undefined identifier File" If I add import std.stdio to the beginning it get ; expected, function declaration w/o return type, etc. Assistance is greatly appreciated. void main(string args[]) { auto f = File("test.txt", "w"); // open for writing f.write("Hello"); if (args.length > 1) { auto g = f; // now g and f write to the same file // internal reference count is 2 g.write(", ", args[1]); // g exits scope, reference count decreases to 1 } f.writeln("!"); // f exits scope, reference count falls to zero, // underlying FILE* is closed. }
Apr 18 2012
On Wed, 18 Apr 2012 14:09:20 +0200, Paul <phshaffer gmail.com> wrote:I copied the code below from this site under the std.stdio library reference section and tried to compile it. I downloaded D2/Phobos. Compiler says "fileread.d(4): Error: undefined identifier File" If I add import std.stdio to the beginning it get ; expected, function declaration w/o return type, etc. Assistance is greatly appreciated. void main(string args[]) { auto f = File("test.txt", "w"); // open for writing f.write("Hello"); if (args.length > 1) { auto g = f; // now g and f write to the same file // internal reference count is 2 g.write(", ", args[1]); // g exits scope, reference count decreases to 1 } f.writeln("!"); // f exits scope, reference count falls to zero, // underlying FILE* is closed. }As you note, File is a part of stdio. I think you might have forgotten to terminate the import statement with a semicolon. The following should work: import std.stdio; void main() { auto f = File("test.txt", "w"); f.write("Hello"); }
Apr 18 2012
On Wednesday, 18 April 2012 at 12:42:26 UTC, simendsjo wrote:On Wed, 18 Apr 2012 14:09:20 +0200, Paul <phshaffer gmail.com> wrote:Arrgh. I was so close. Thank you.I copied the code below from this site under the std.stdio library reference section and tried to compile it. I downloaded D2/Phobos. Compiler says "fileread.d(4): Error: undefined identifier File" If I add import std.stdio to the beginning it get ; expected, function declaration w/o return type, etc. Assistance is greatly appreciated. void main(string args[]) { auto f = File("test.txt", "w"); // open for writing f.write("Hello"); if (args.length > 1) { auto g = f; // now g and f write to the same file // internal reference count is 2 g.write(", ", args[1]); // g exits scope, reference count decreases to 1 } f.writeln("!"); // f exits scope, reference count falls to zero, // underlying FILE* is closed. }As you note, File is a part of stdio. I think you might have forgotten to terminate the import statement with a semicolon. The following should work: import std.stdio; void main() { auto f = File("test.txt", "w"); f.write("Hello"); }
Apr 18 2012