Read a text file
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 20/11/2009 at 18:39, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 10/11
Platform: Windows ; Mac OSX ;
Language(s) : C++ ;---------
Hi,I have some problems with a pretty simple task: Reading a text file and writing its contents into another file. Here's some code:
void CopyA2B(BaseFile *source, BaseFile *target) { if (!source || !target) return; CHAR c; String cs = String(); String Content = String(); VLONG length = source->GetLength(); for (VLONG i = 0; i < length; i++) { source->ReadChar(&c;); cs.SetCString(&c;); Content = Content + cs; } // WriteString() function posted in C4Dcafé by Matthias Bober // It works fine, so the problem must be the reading WriteString(Content, target); }The strange thing is, that - no matter which StringEncoding I use in SetCString() - I end up with something that looks like this:
b\u00CC\u00CC\u00CCo\u00CC\u00CC\u00CCd\u00CC\u00CC\u00CCy\u00CC\u00CC\u00CC \u00CC\u00CC\u00CC{\u00CC\u00CC\u00CC
\u00CC\u00CC\u00CC
\u00CC\u00CC\u00CC \u00CC\u00CC\u00CCb\u00CC\u00CC\u00CCa\u00CC\u00CC\u00CCc\u00CC\u00CC\u00CCk\u00CC\u00CC\u00CCg\u00CC\u00CC\u00CCr\u00CC\u00CC\u00CCo\u00CC\u00CC\u00CCu\u00CC\u00CC\u00CCn\u00CC\u00CC\u00CCd\u00CC\u00CC\u00CC-\u00CC\u00CC\u00CCc\u00CC\u00CC\u00CCo\u00CC\u00CC\u00CCl\u00CC\u00CC\u00CCo\u00CC\u00CC\u00CCr\u00CC\u00CC\u00CC:\u00CC\u00CC\u00CC#\u00CC\u00CC\u00CCA\u00CC\u00CC\u00CCA\u00CC\u00CC\u00CCA\u00CC\u00CC\u00CCA\u00CC\u00CC\u00CCA\u00CC\u00CC\u00CCA\u00CC\u00CC\u00CC;\u00CC\u00CC\u00CC
\u00CC\u00CC\u00CC
\u00CC\u00CC\u00CC}\u00CC\u00CC\u00CCHow can I simply read a text file using the BaseFile class and get the file contents as a String?
Thanks in advance

Cheers,
Jack -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/11/2009 at 03:23, xxxxxxxx wrote:
Originally posted by xxxxxxxx
User Information:
Cinema 4D Version: 10/11
Platform: Windows ;
Mac OSX ;
Language(s) :
C++ ;---------
Hi,I have some problems with a pretty simple task: Reading a text file and writing its contents into another file. Here's some code:
Looking at the output (it is the typical pattern of an uninitialized memory block), I assume your source->ReadChar() returned an error (you didn't check for success after calling the function) for whatever reason.
Best regards,
Wilfried Behne
Btw.: Your read loop is not that efficient. Every String addition/SetCString will create/release memory blocks.
Think about reading a larger chunk of bytes into a buffer and convert them with one call...
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/11/2009 at 03:34, xxxxxxxx wrote:
Thanks. Did that and it works now

Cheers,
Jack