Моя функция
От: VolanD2002  
Дата: 09.04.04 11:37
Оценка:
Вот написал функцию для добавления элементов в массив.
(str-новый элемент, num-каким добавить).
Но что-то она косячит.

void AddtoArray(char *str,int num){
char *stradd;
char **newarray;
int x,x1,adding_el;
 adding_el=0;
 newarray=(char **)calloc(size+1,sizeof(char *));
   x=0;
   x1=0;
   while (x<=size+1){
    if (x!=num || adding_el==1){
     stradd=dates[x];
     newarray[x1]=(char *)calloc(strlen(stradd)+1,sizeof(char));
     strcpy(newarray[x1],dates[x]);
     x++;
     x1++;
    }
     else {
      stradd=str;
      newarray[x1]=(char *)calloc(strlen(stradd)+1,sizeof(char));
      adding_el=1;
      strcpy(newarray[x1],str);
      x1++;
     }
   }
 size++;
 dates=(char **)calloc(size,sizeof(char *));
 for (x=0;x<=size;x++){
  stradd=newarray[x];
  dates[x]=(char *)calloc(strlen(stradd)+1,sizeof(char));
  strcpy(dates[x],newarray[x]);
 }

 for (x=0;x<=size;x++){
  free(newarray[x]);
 }
 free(newarray);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.