Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vit_as
0 / 0 / 0
Регистрация: 23.06.2010
Сообщений: 10
#1

Выделение памяти в структурах - C++

29.06.2010, 01:47. Просмотров 755. Ответов 1
Метки нет (Все метки)

Есть структура:
[code]
struct Baze
{
char artist[30];
char kompoz[30];
int year;
char album[30];
};
int write(void) //Запись
{
int k,i;
Baze baze[50];
Baze baze1[50];
FILE *fp;

fp=fopen('data.txt', 'a+');

fwrite(&k, sizeof(int),1,fp);
for (i=0; i<k; i++)
{
clrscr();
printf(' ЃЂ‡Ђ „ЂЌЌ›•:

');
printf(' „®Ў*ў«Ґ*ЁҐ *®ўле ¤***ле

');

printf('
?бЇ®«*ЁвҐ«м: ');
gets(baze[i].artist);
gets(baze[i].artist);

printf('
Љ®¬Ї®§ЁжЁп: ');
gets(baze[i].kompoz);

printf('
ѓ®¤: ');
scanf('%d',&baze[i].year);

printf('
Ђ«мЎ®¬: ');
gets(baze[i].album);
gets(baze[i].album);

fwrite(&baze[i], sizeof(struct Baze), 1, fp);
}

fclose( fp);
}
int view(void)
{
int k,i,n,d,p,j;
Baze baze[50];
Baze baze1[50];
FILE *fp;

printf('
‚ўҐ¤ЁвҐ Ї*а*¬Ґвал бЇЁбЄ*
');
printf('
1-ЋЎлз*л©');
printf('
2-‘®авЁа®ўЄ* Ї® **§ў**Ёо ЁбЇ®«*ЁвҐ«п');
printf('
3-‘®авЁа®ўЄ* Ї® **§ў**Ёо Є®¬Ї®§ЁжЁЁ');
printf('
4-‘®авЁа®ўЄ* Ї® **§ў**Ёо *«мЎ®¬*');
printf('
‚лЎ®а: ');
scanf('%d',&n);

clrscr();
printf(' ЃЂ‡Ђ „ЂЌЌ›•:

');

cout << '
';


fp=fopen('data.txt', 'r');

fseek(fp,0,SEEK_END);
d = ftell(fp);
d = d/100; //Сколько записей находится в данный момент в базе

fseek(fp,0,SEEK_SET);

if( fp == NULL)
{
cout << '
No File';
return 0;
}

for(i=0; i<d; i++)
{
fread(&k, sizeof(int), 1, fp);
printf(' %d).',i+1);
fread(&baze1[i], sizeof(struct Baze), 1, fp);

printf('

?бЇ®«*ЁвҐ«м: %s
', baze1[i].artist);
printf(' Љ®¬Ї®§ЁжЁп: %s
', baze1[i].kompoz);
printf(' ѓ®¤: %d
', baze1[i].year );
printf(' Ђ«мЎ®¬: %s


', baze1[i].album);
p++;
}

fclose( fp);

getch();
return 0;
}
int main(void)
{

Baze baze[50];
Baze baze1[50];
int a, n, i, p, k, d, f,l,j,g;
char find[20];
int ptr[100];
char *str;
char *s;
p=0;

first:
clrscr();
printf(' ЃЂ‡Ђ „ЂЌЌ›•:

');
printf(' ‚лЎҐаҐвҐ *®¬Ґа ¤Ґ©бвўЁп:
');
printf('
1-„®Ў*ў«Ґ*ЁҐ ¤***ле
');
printf(' 2-“¤*«Ґ*ЁҐ ¤***ле
');
printf(' 3-Џа®б¬®ва Ѓ*§л „***ле
');
printf(' 4-Џ®ЁбЄ
');
printf(' 0-‚л室

');
printf(' ‚лЎ®а: ');
FILE *fp;
scanf('%d&
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2010, 01:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выделение памяти в структурах (C++):

Распределение памяти. Динамическое выделение памяти - C++
an-1 an-2 ... a2

Выделение памяти, проверка на утечку памяти - C++
Интересуют два вопроса: 1. Правильно ли устроен алгоритм выделения, удаление и запись ячейки памяти? Может быть, есть более простые...

Выделение памяти (new) - C++
Наткнулся на пример где делают непонятные мне выделения памяти с помощью new X* pi = new X; X* p2 = new X ; X* рЗ = new (&amp;buffer )...

Выделение памяти - C++
Здравствуйте! #include&lt;iostream&gt; int main() { int *mass = new int ; int *mass2 = new int ; std::cout &lt;&lt; (unsigned int)mass &lt;&lt;...

Выделение памяти - C++
Какая разница между выделением памяти функциями malloc, calloc, realloc и оператором new? И как изменить размер выделенной памяти без...

Выделение памяти - C++
Платформа и компилятор x64. Установлено 64Gb ОЗУ, 60Gb из них откусил SQL Server. Пытаюсь сделать следующее: struct Dictionary { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
(Phantom)
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 86
29.06.2010, 10:53 #2
Если я понял твой вопрос, то так:
Код
Baze *bazes=new Baze[100];
Создать масив из 100 елементов. Число 100 может быть и зн. переменной:
Код
int size=100;
Baze *bazes=new Baze[size];
ЗЫ А если ты используеш С++, есть смысл всглянуть в сторону STL и потоков.
ЗЫЗЫ А почему б тебе не использоваться для хранения XML
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2010, 10:53
Привет! Вот еще темы с ответами:

Выделение памяти - C++
Во время выполнения программы после ввода нескольких символов выводит ошибку: double free or corruption(out): 0x0000000001157010 ***...

Выделение памяти - C++
int main() { FILE *fIn = NULL, *fOut =NULL; Error EMyError; CNodeStack *Start; CNodeStack *ListF = new CNodeStack; ...

выделение памяти - C++
Здравствуйте, помогите пожалуйста исправить ошибку, это лишь малая часть кода. В задании: поле name должно быть динамическим: char...

Выделение памяти - C++
Вот кусок кода, класс и функция добавления в список Класс занимает 64 бита, я добавляю 10 элементов в список - 640 бит Потом отнимаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru