Insert Line jump



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 07/03/2011 at 06:41, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   11.5-12 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    Hi all !

    I didn't found how to add a line jump in a remote text file.

    When I use Basefile* WriteString() I result with a strange caracter in front of the string and I don't know how to add a line jump... Is it a special character to insert with WriteChar() ?

    Any hint ?

    Mike



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 07/03/2011 at 09:35, xxxxxxxx wrote:

    AIUI WriteString() doesn't write a simple C character array as you might expect. It writes a C4D String object which obviously contains the text but also the other data which make it a String object. That's the odd stuff you see before the text.

    If you want to write a plain text file, you need to write your own routine to do this. This has been discussed a few times here and if you search the forum you'll find a routine by Matthias (IIRC) that does the trick very well. Others have posted similar routines.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 07/03/2011 at 12:00, xxxxxxxx wrote:

    Now I know what I should look for. I'll dig in the forum.
    Thank you !



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 08/03/2011 at 00:59, xxxxxxxx wrote:

    Something like this should do the trick:

      
    Bool WriteString(const String &line, BaseFile* file)  
    {  
      if(!file) return FALSE;  
      
      CHAR *charline = NULL;  
      LONG strlength = line.GetCStringLen(STRINGENCODING_7BITHEX);  
      charline = GeAllocType(CHAR, strlength+1);  
      
      if(!charline) return FALSE;  
      
      strlength = line.GetCString(charline, strlength+1, STRINGENCODING_7BITHEX);  
      
      LONG i;  
      for(i=0; i<strlength; i++)  
      {  
          if(!file->WriteChar(charline[i])) return FALSE;  
      }  
      
      GeFree(charline);  
      
      return TRUE;  
    }  
    

    cheers,
    Matthias


Log in to reply