[En-Nut-Discussion] Passing String between Function and Prog_char

Francois Rademeyer francois at asnone.com
Wed Jun 30 12:49:59 CEST 2004


Hi,

The following lines just wouldn't work.  Memory needs to be allocated for the temporary string.  Otherwise it's just a wild pointer!  You are probably used to Java coding?

char *temp;
strcpy_P(temp,line1);

must actually be:

char *temp = (char*) malloc(strlen_P(line1) + 1);
if (!temp) <Do out of memory error handling>;
strcpy_P(temp,line1);

Remember to free the string after it's been used.

free(temp);

Cheers,
Francois

  ----- Original Message ----- 
  From: iVesWorking 
  To: en-nut-discussion at egnite.de 
  Sent: Wednesday, June 30, 2004 12:00 PM
  Subject: [En-Nut-Discussion] Passing String between Function and Prog_char


  i Had some problem of passing string from on function to the other. 
  the case is like this

  char *FunctionA(int a){
  static prog_char line1 = "a";
  static prog_char line2 = "a";
  char *temp;
  if (a==1)strcpy_P(temp,line1);
  return temp;}

  char *FunctionB(int a){
  static prog_char line1 = "a";
  static prog_char line2 = "a";
  char *temp;
  if (a==1)strcpy_P(temp,line1);
  return temp;}

  char *functionC(void){
  char *temp1; 
  char *temp2; 
  char *temp3="hello world";
  strcpy_P(temp1,FunctionA(1));
  strcat(temp1,temp3);
  strcat_P(temp1,FunctionB(1));
  return temp1;
  }


  The real case the string are longer, but total length was around 30-100 char
  anyone have this problem ? or know why this happen ?
  or it was work flawless on your machine ?
  i using Gcc compiler


------------------------------------------------------------------------------


  _______________________________________________
  En-Nut-Discussion mailing list
  En-Nut-Discussion at egnite.de
  http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.egnite.de/pipermail/en-nut-discussion/attachments/20040630/a6731a97/attachment.html>


More information about the En-Nut-Discussion mailing list