У меня есть структура, определенная так:
typedef struct stringd{
char *y;
char *x[32];
}stringd;
в основной программе. Я объявляю указатель на stringd, как показано:
stringd *d = malloc(sizeof(*d));
в основной функции.парсинг входной строки и последующее сохранение ее в двумерном массиве символовСимвол в моей входной строке Я копирую элементы c в * x [32] в строковой структуре.как показано ниже:
if (c[i][0]=='\174')
for(j=0;j<=i;j++){
d[k].x[j]=c[j];
c[j]=NULL;
}
k++;
после извлечения последней строки из входных данных (разделителем является пробел). Я делаю окончательную копию массива от c до x в stringd, как показано (токен - указатель на входstring);
if(*token == '\0'||*token=='\n'
for(j=0;j<=i;j++){
d[k].x[j]=c[j];
}
проблема здесь в том, что строки, сохраненные ранее в массиве struct char x, перезаписываются ненужными символами при последней операции.Куда я иду не так?
любая помощь оценена,