www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Writing very large files 50+ GB

reply "wmunger" <wmunger gmail.com> writes:
I need to write to a file that is 50 to 250GB on all three major 
operating systems.

I tried to use the c function pwrite64.  But it is not available 
on the Mac.

I have seen where some have used the iostream in C++ but this 
does not seem to work on the Mac.

Is there any way to write in D very large files.  After all I 
would rather write in D than wrap C or C++ code.

Thank you.
Jul 26 2012
next sibling parent reply "Era Scarecrow" <rtcvb32 yahoo.com> writes:
On Friday, 27 July 2012 at 01:50:57 UTC, wmunger wrote:
 I need to write to a file that is 50 to 250GB on all three 
 major operating systems.

 I tried to use the c function pwrite64.  But it is not 
 available on the Mac.

 I have seen where some have used the iostream in C++ but this 
 does not seem to work on the Mac.

 Is there any way to write in D very large files.  After all I 
 would rather write in D than wrap C or C++ code.

 Thank you.
What are you going to be writing? Depending on the issue, it may be a Filesystem/OS limitation than a language limitation.
Jul 26 2012
parent "wmunger" <wmunger gmail.com> writes:
On Friday, 27 July 2012 at 02:33:39 UTC, Era Scarecrow wrote:
 On Friday, 27 July 2012 at 01:50:57 UTC, wmunger wrote:
 I need to write to a file that is 50 to 250GB on all three 
 major operating systems.

 I tried to use the c function pwrite64.  But it is not 
 available on the Mac.

 I have seen where some have used the iostream in C++ but this 
 does not seem to work on the Mac.

 Is there any way to write in D very large files.  After all I 
 would rather write in D than wrap C or C++ code.

 Thank you.
What are you going to be writing? Depending on the issue, it may be a Filesystem/OS limitation than a language limitation.
both binary and text. The writes may be larger than 2 GB.
Jul 28 2012
prev sibling parent reply "Regan Heath" <regan netmail.co.nz> writes:
On Fri, 27 Jul 2012 02:50:56 +0100, wmunger <wmunger gmail.com> wrote:

 I need to write to a file that is 50 to 250GB on all three major  
 operating systems.

 I tried to use the c function pwrite64.  But it is not available on the  
 Mac.

 I have seen where some have used the iostream in C++ but this does not  
 seem to work on the Mac.

 Is there any way to write in D very large files.  After all I would  
 rather write in D than wrap C or C++ code.
Have you looked for open, lseek(64) and write? R -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Jul 27 2012
parent "wmunger" <wmunger gmail.com> writes:
On Friday, 27 July 2012 at 09:40:15 UTC, Regan Heath wrote:
 On Fri, 27 Jul 2012 02:50:56 +0100, wmunger <wmunger gmail.com> 
 wrote:

 I need to write to a file that is 50 to 250GB on all three 
 major operating systems.

 I tried to use the c function pwrite64.  But it is not 
 available on the Mac.

 I have seen where some have used the iostream in C++ but this 
 does not seem to work on the Mac.

 Is there any way to write in D very large files.  After all I 
 would rather write in D than wrap C or C++ code.
Have you looked for open, lseek(64) and write? R
Lseek64 is not available on the Mac. I have tried lseek on a a 64 bit OS and it still acts like 32 bit.
Jul 28 2012