PDA

Просмотр полной версии : Структура, подскажите как......


NorB
27.11.2007, 15:47
struct Tlist {
char* bName;
char* bType;
int bCount;
Tlist* Next;
};

Tlist* spec=new Tlist;
spec->bName=new char[strlen(max->bName)+1];
strcpy(spec->bName, max->bName);
spec->bType=new char[strlen(max->bType)+1];
strcpy(spec->bType, max->bType);
spec->bCount=max->bCount;

Есть структура Tlist*max c а заполнеными полями) Мне нада создать новую Tlist*spec и скопировать в ее поля значения с Tlist*max, Что я неправельно написал в коде?=( Первый вариант присваивания был ваше такой :spec->bName=max->bName и т.д. но прога висла, а с етим вариантом чтото тоже не правельно но уже не виснет) Подскажите.

reversys
29.11.2007, 23:24
Два дня никто не отвечает человеку...
#include <string.h>

struct Tlist
{
char * bName;
char * bType;
int bCount;
Tlist * Next;
};

int main()
{
Tlist * m = new Tlist;
Tlist * max = new Tlist;
Tlist * spec = new Tlist;

max->bName="maximum";
max->bCount=5;
max->bType="structure";
max->Next=m;

spec->bName=new char[strlen(max->bName)];
strcpy(spec->bName,max->bName);

spec->bType=new char[strlen(max->bType)];
strcpy(spec->bType,max->bType);

spec->Next=max->Next;
spec->bCount=max->bCount;

return 0;
}
Надеюсь я правильно тебя понял и помог :)

Piflit
29.11.2007, 23:39
spec->bCount=spec->bCount;
"о вреде индийского кода"?...

reversys
29.11.2007, 23:42
"о вреде индийского кода"?...

Да не говори :) Спать пойду.

NorB
02.12.2007, 15:05
Cпс я уже разобрался ето все нето у мну было почти правельно=)
Tlist* spec=new Tlist;
spec->bName=new char[strlen(max->bName)+1];
strcpy(spec->bName, max->bName);
spec->bType=new char[strlen(max->bType)+1];
strcpy(spec->bType, max->bType);
spec->bCount=max->bCount;