Áö±Ý±îÁö ¹è¿î ÇÔ¼öµéÀ» »ç¿ëÇϸé ÆÄÀÏ¿¡ ¹®ÀÚ¿, Á¤¼ö, ½Ç¼ö µîÀ» ¸ðµÎ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª Çö½ÇÀûÀ¸·Î ÀÌ·± ´Ü¼øÇÑ Å¸ÀÔÀÇ º¯¼öµé·Î ¾î¶² À¯¿ëÇÑ Á¤º¸¸¦ Ç¥ÇöÇϱ⿡´Â ºÎÁ·ÇÏ´Ù. Àû¾îµµ ±¸Á¶Ã¼ ¹è¿ Á¤µµ´Â µÇ¾î¾ß ÆÄÀÏ·Î ÀúÀåÇÒ¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù°í ÇÒ ¼ö Àִµ¥ ¿¹¸¦ µé¾î ¿öµå ÇÁ·Î¼¼¼ÀÇ °æ¿ì ¹®´Ü Çϳª¸¦ ±¸Á¶Ã¼·Î Á¤ÀÇÇϸé ÀÌ ±¸Á¶Ã¼ÀÇ ¹è¿ÀÌ °ð ¹®¼°¡ µÉ °ÍÀÌ¸ç µµ¼ ¸ñ·Ï °ü¸® ÇÁ·Î±×·¥Àº µµ¼ Á¤º¸ ±¸Á¶Ã¼ÀÇ ¹è¿À» ÀúÀåÇÒ °ÍÀÌ´Ù.
¹°·Ð ±¸Á¶Ã¼ ¹è¿µµ Á¤º¸ÀÇ Ç¥Çö·ÂÀÌ ³ôÁö ¸øÇϹǷΠ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼´Â À̺¸´Ù ÈξÀ ´õ º¹ÀâÇÑ ÀÚ·á ±¸Á¶°¡ µ¿¿øµÇ°ÚÁö¸¸ ´ëºÎºÐÀÇ °æ¿ì ±¸Á¶Ã¼ ¹è¿ÀÇ º¯ÇüÀ̳ª Á¶ÇÕ Á¤µµÀÌ´Ù. ±×·¡¼ ±¸Á¶Ã¼ ¹è¿À» ÆÄÀÏ·Î ÀúÀåÇÒ ¼ö ÀÖ´Ù¸é À¢¸¸ÇÑ ÆÄÀÏ ±¸Á¶´Â ¼³°èÇÏ°í °ü¸®ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÁÖ¼Ò·Ï ÇÁ·Î±×·¥À» ¿¹·Î µé¾î ÁÖ¼Ò·ÏÀ» Åë°·Î ÆÄÀÏ·Î ÀúÀåÇÑ´Ù.
ÆÄÀÏ ¼±µÎ¿¡ 256 Å©±âÀÇ Friends ¹è¿ÀÌ ¼±¾ðµÇ¾î ÀÖÀ¸¸ç ÀÌ ¹è¿ÀÌ ÆíÁý ´ë»óÀÌ¸é¼ ¶ÇÇÑ ÀúÀå ´ë»óÀ̱⵵ ÇÏ´Ù. ¹Ì¸® 4°³ÀÇ ÃʱⰪÀ» ³Ö¾î µÎ¾ú°í Àü¿ªº¯¼ö NumÀº ÀԷµǾî ÀÖ´Â »ç¶÷ÀÇ ¼ö¸¦ °¡Áø´Ù. ÀÌ ¹è¿¿¡ Á¤º¸¸¦ »ðÀÔ, »èÁ¦, ¼öÁ¤ÇÏ´Â ÆíÁý ±â´ÉÀ» ÀÛ¼ºÇÑ´Ù¸é Friends ¹è¿°ú Num Àü¿ªº¯¼ö¸¦ °ü¸®ÇÒ °ÍÀÌ¸ç °£´ÜÇÑ ÁÖ¼Ò·Ï ÇÁ·Î±×·¥ÀÇ ±â´ÉÀ» °®Ãâ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Áö±Ý ¾Ë¾Æº¸°íÀÚ ÇÏ´Â ÁÖÁ¦´Â ±¸Á¶Ã¼ ¹è¿À» ÆÄÀÏ·Î ÀúÀåÇÏ´Â °ÍÀ̹ǷΠÆíÁý ±â´ÉÀº ¹«½ÃÇÏ°í ÃʱⰪÀÌ ÆíÁýÁßÀÎ ÁÖ¼Ò·ÏÀ̶ó°í °¡Á¤Çϵµ·Ï ÇÏÀÚ.
¿¹ Á¦ : SaveRecord |
#include <Turboc.h>
void WriteFriend();
void ReadFriend();
struct tag_Friend {
char Name[10];
int Age;
double Height;
};
tag_Friend Friends[256]={
{"À̱⿵", 30, 178.2 },
{"±èÅ¿µ", 19, 169.8 },
{"ÃÖ¼ø¿", 26, 176.5 },
{"³ë¹ÎÈ£", 58, 172.3 },
{"", 0, 0 },
};
struct tag_Header {
char desc[32];
int ver;
int num;
};
int Num=4;
void main()
{
int sel,i;
for (;;) {
gotoxy(15,20);
printf("¼±Åà (1:º¸±â, 2:ÀúÀå, 3:¸ù¶¥ »èÁ¦, 4:Àбâ, 9:Á¾·á ) ");
sel=getch();
clrscr();
switch (sel) {
case '1':
for (i=0;i<Num;i++) {
gotoxy(2,2+i);
printf("À̸§:%s, ³ªÀÌ:%d, Å°:%.1f\n",
Friends[i].Name,Friends[i].Age,Friends[i].Height);
}
puts("\n Ãâ·Â ¿Ï·á.");
break;
case '2':
WriteFriend();
break;
case '3':
memset(Friends,0,sizeof(Friends));
Num=0;
puts("\n\n ¸ðµç ·¹Äڵ带 »èÁ¦Çß½À´Ï´Ù.");
break;
case '4':
ReadFriend();
break;
case '9':
exit(0);
}
}
}
// ±¸Á¶Ã¼ ¹è¿À» ÆÄÀÏ·Î ÀúÀåÇϱâ
void WriteFriend()
{
FILE *f;
tag_Header H;
gotoxy(5,5);
f=fopen("c:\\Friend.dat","wb");
if (f == NULL) {
puts("ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.");
} else {
strcpy(H.desc,"Ä£±¸¸ñ·Ï");
H.ver=100;
H.num=Num;
fwrite(&H,sizeof(tag_Header),1,f);
fwrite(Friends,sizeof(tag_Friend),Num,f);
fclose(f);
puts("ÆÄÀÏÀ» ÀúÀåÇß½À´Ï´Ù.");
}
}
// ÆÄÀϷκÎÅÍ ±¸Á¶Ã¼ ¹è¿ Àоî¿À±â
void ReadFriend()
{
FILE *f=NULL;
tag_Header H;
gotoxy(5,5);
f=fopen("c:\\Friend.dat","rb");
if (f == NULL) {
puts("ÆÄÀÏÀ» ¿ ¼ö ¾ø½À´Ï´Ù.");
} else {
memset(Friends,0,sizeof(Friends));
fread(&H,sizeof(tag_Header),1,f);
if (strcmp(H.desc,"Ä£±¸¸ñ·Ï") != 0) {
puts("ÁÖ¼Ò·Ï ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù.");
goto end;
}
if (H.ver != 100) {
puts("¹öÀüÀÌ Æ²¸³´Ï´Ù.");
goto end;
}
Num=H.num;
fread(Friends,sizeof(tag_Friend),Num,f);
puts("ÆÄÀÏÀ» Àоú½À´Ï´Ù.");
}
end:
if (f)
fclose(f);
}
main ÇÔ¼ö¿¡´Â ¸Þ´º¸¦ Ãâ·ÂÇÏ°í ÁÖ¼Ò·ÏÀ» ȸéÀ¸·Î Ãâ·ÂÇÏ´Â Á¤µµÀÇ ±â´É¹Û¿¡ ¾ø´Ù. ÀÌ ½Ç½ÀÀÇ ÁÖÁ¦ÀÎ ±¸Á¶Ã¼ ÀúÀå°ú Àбâ´Â WriteFriend, ReadFriend ÇÔ¼ö¿¡ µû·Î ÀÛ¼ºÇØ µÎ¾úÀ¸¹Ç·Î ÀÌ ÇÔ¼öµéÀ» ÁýÁßÀûÀ¸·Î ºÐ¼®ÇØ º¸µµ·Ï ÇÏÀÚ.
°íÀ¯ÀÇ µ¥ÀÌÅÍ ÆÄÀÏÀ» ¸¸µé·Á¸é ¸ÕÀú Çì´õ¸¦ ÀÛ¼ºÇØ¾ß ÇÑ´Ù. Çì´õ¶õ ÆÄÀÏÀÇ Á¾·ù¿Í ¹öÀü, °£´ÜÇÑ ¼³¸í, ±×¸®°í ÆÄÀÏÀÇ Àüü ±¸Á¶¸¦ ¼³¸íÇÏ´Â Áß¿äÇÑ Á¤º¸µéÀÌ ÀúÀåµÇ´Â ±¸Á¶Ã¼ÀÌ´Ù. ±¸Á¶Ã¼ ¹è¿À» ÆÄÀÏ·Î ÀúÀåÇÏ·Á¸é ¹è¿¿¡ ¸î °³ÀÇ ·¹Äڵ尡 ÀÖ´ÂÁö¸¦ ±â·ÏÇØ µÎ¾î¾ß Çϴµ¥ ÀÌ Á¤º¸°¡ Çì´õ¿¡ ÀÛ¼ºµÈ´Ù. ÁÖ¼Ò·Ï ÇÁ·Î±×·¥ÀÇ Çì´õ´Â tag_Header¶ó´Â ±¸Á¶Ã¼·Î ¼±¾ðµÇ¾î ÀÖÀ¸¸ç ¼³¸í, ¹öÀü, ÁÖ¼ÒÀÇ °³¼ö°¡ ÀúÀåµÈ´Ù.
WriteFriend ÇÔ¼ö´Â fopenÀ¸·Î ÀúÀåÇÒ ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. ÀúÀåÇÒ ÆÄÀÏÀÇ À̸§À» µû·Î ÀԷ¹޾ƾ߰ÚÁö¸¸ ½Ç½ÀÀÇ °£ÆíÇÔÀ» À§ÇØ C:\Friend.dat·Î À̸§À» °íÁ¤ÇØ µÎ¾ú´Ù. ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ¾øÀ¸¸é ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í ±×·¸Áö ¾Ê´Ù¸é ÆÄÀÏ¿¡ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÑ´Ù. ¼³¸í°ú ¹öÀü, ±×¸®°í ·¹ÄÚµåÀÇ °³¼ö¸¦ Çì´õ¿¡ ÀÛ¼ºÇÑ ÈÄ ÆÄÀÏ·Î ¸ÕÀú Ãâ·ÂÇÑ´Ù. ±¸Á¶Ã¼¸¦ ÆÄÀÏ·Î Ãâ·ÂÇÒ ¶§´Â fwrite ÇÔ¼ö·Î ±¸Á¶Ã¼ ÀÚü¸¦ º¸³»±â¸¸ ÇÏ¸é µÈ´Ù. ÀÌ Á¤º¸°¡ ¸ÕÀú ±â·ÏµÇ¾î¾ß ÆÄÀϷκÎÅÍ µ¥ÀÌÅ͸¦ ÀÐÀ» ¶§ ±âº»ÀûÀÎ ¿¡·¯ 󸮸¦ ÇÏ°í ¸î °³ÀÇ ·¹Äڵ尡 µé¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
±×¸®°í Friends ¹è¿À» Åë°·Î ÆÄÀÏ·Î ÀúÀåÇ쵂 Àüü¸¦ ÀúÀåÇÒ ÇÊ¿ä¾øÀÌ ÆíÁýÁßÀÎ À¯È¿ÇÑ °³¼ö¸¸Å¸¸ Ãâ·ÂÇÏ¸é µÇ´Âµ¥ ÀÌ °³¼ö´Â Àü¿ªº¯¼ö NumÀÌ °¡Áö°í ÀÖ´Ù. ÀúÀåÀÌ ¿Ï·áµÇ¸é fclose ÇÔ¼ö·Î ÆÄÀÏÀ» ´Ý´Â´Ù. c:\Friends.dat ÆÄÀÏÀ» 16Áø ÆíÁý±â·Î ¿¾î º¸¸é Çì´õ ¹®ÀÚ¿°ú Name ¹®ÀÚ¿ÀÌ º¸ÀÏ °ÍÀ̸ç Á¤¼ö³ª ½Ç¼öµµ ÀÐÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±¸Á¶Ã¼ ¹è¿ÀÌ ÆÄÀÏ¿¡ ÀúÀåµÈ ¸ð½ÀÀº ´ÙÀ½°ú °°´Ù. Çì´õ ´ÙÀ½¿¡ ±¸Á¶Ã¼ ¹è¿ÀÌ ¼ø¼´ë·Î ±â·ÏµÇ¾î ÀÖ´Ù.
ÀúÀåµÈ ÆÄÀϷκÎÅÍ ±¸Á¶Ã¼ ¹è¿À» ÀоîµéÀÏ ¶§´Â ÀúÀåÇÑ ¼ø¼´ë·Î ÀÐ¾î µéÀÌ¸é µÈ´Ù. Çì´õ¸¦ ¸ÕÀú Àаí ÁÖ¼Ò·Ï ÆÄÀÏÀÌ ¸Â´ÂÁö¿Í ¹öÀüÀ» È®ÀÎÇÑ´Ù. ¸¸¾à ¾û¶×ÇÑ ÆÄÀÏÀ̰ųª ¹öÀüÀÌ Æ²¸®¸é ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í Á¾·áÇÑ´Ù. ÇÁ·Î±×·¥À̶õ Áö¼ÓÀûÀ¸·Î ¾÷±×·¹À̵åµÇ±â ¶§¹®¿¡ ÀÌÀü ¹öÀüÀ̳ª ÀÌÈÄ ¹öÀüÀÌ ¸¸µç µ¥ÀÌÅÍ ÆÄÀÏ¿¡ ´ëÇÑ Ã³¸®µµ ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀÌÀü ¹öÀüÀÎ °æ¿ì ÇöÀç ¹öÀü¿¡ ¸Â°Ô º¯È¯À» ÇϵçÁö ¾Æ´Ï¸é ÃÖ¼ÒÇÑ ÀÐÀ» ¼ö ¾ø´Ù´Â ¿¡·¯ ¸Þ½ÃÁö¶óµµ º¸¿©ÁÖ´Â °ÍÀÌ ¿Ç´Ù. ¸ðµç Á¶°ÇÀÌ ¸ÂÀ» °æ¿ì Çì´õ µÚÂÊ¿¡ ÀÖ´Â ±¸Á¶Ã¼ ¹è¿À» Åë°·Î Àоî Friends ¹è¿¿¡ Áý¾î ³Ö°í Àü¿ªº¯¼ö Num¿¡ Çì´õ¿¡ ±â·ÏµÈ ·¹ÄÚµå °³¼ö¸¦ ±â·ÏÇÏ¸é µÈ´Ù.
ÀÌ ¿¹Á¦ÀÇ °æ¿ì ÆíÁý ´ë»ó Á¤º¸°¡ ÇϳªÀÇ ±¸Á¶Ã¼ ¹è¿¿¡ ÁýÇÕÀûÀ¸·Î ¸ð¿© Àֱ⠶§¹®¿¡ ÆÄÀÏ·Î ÀúÀåÇϱ⵵ ±×¸® ¾î·ÆÁö ¾ÊÀº ÆíÀÌ´Ù. ½ÇÀü ÇÁ·ÎÁ§Æ®ÀÇ ÀڷᱸÁ¶´Â »ç½Ç ÀÌ º¸´Ù´Â ÈξÀ ´õ º¹ÀâÇѵ¥ ´ÙÀ½Àº Á» ´õ º¹ÀâÇÑ ÇüÅÂÀÇ Á¤º¸¸¦ ÀúÀåÇØ º¸ÀÚ. ±¸Á¶Ã¼°¡ ¸ðµç Á¤º¸¸¦ ´Ù °¡Áö°í ÀÖÁö ¾Ê°í µ¿ÀûÇÒ´çµÈ ¸Þ¸ð¸®ÀÇ Æ÷ÀÎÅ͸¦ °¡Áö°í ÀÖ´Â °æ¿ìÀÌ´Ù. º¯°æµÈ ¼Ò½º¸¦ º¸ÀÚ.
¿¹ Á¦ : SaveRecord2 |
#include <Turboc.h>
void WriteFriend();
void ReadFriend();
void DeleteAll();
struct tag_Friend {
char *Name;
int Age;
double Height;
};
tag_Friend Friends[256]={
{NULL, 30, 178.2 },
{NULL, 19, 169.8 },
{NULL, 26, 176.5 },
{NULL, 58, 172.3 },
{NULL, 0, 0 },
};
struct tag_Header {
char desc[32];
int ver;
int num;
};
int Num=4;
void main()
{
int sel,i;
// ½ÇÇàÁß¿¡ »ç¿ëÀڷκÎÅÍ ÀÔ·Â¹Þ¾Ò´Ù°í °¡Á¤ÇÑ´Ù.
Friends[0].Name=(char *)malloc(7);
strcpy(Friends[0].Name,"±èÁ¾Çõ");
Friends[1].Name=(char *)malloc(7);
strcpy(Friends[1].Name,"½Åµ¿¹Ð");
Friends[2].Name=(char *)malloc(7);
strcpy(Friends[2].Name,"À̱⿵");
Friends[3].Name=(char *)malloc(7);
strcpy(Friends[3].Name,"±èÅ¿µ");
for (;;) {
gotoxy(15,20);
printf("¼±Åà (1:º¸±â, 2:ÀúÀå, 3:¸ù¶¥ »èÁ¦, 4:Àбâ, 9:Á¾·á ) ");
sel=getch();
clrscr();
switch (sel) {
case '1':
for (i=0;i<Num;i++) {
gotoxy(2,2+i);
printf("À̸§:%s, ³ªÀÌ:%d, Å°:%.1f\n",
Friends[i].Name,Friends[i].Age,Friends[i].Height);
}
puts("\n Ãâ·Â ¿Ï·á.");
break;
case '2':
WriteFriend();
break;
case '3':
DeleteAll();
puts("\n\n ¸ðµç ·¹Äڵ带 »èÁ¦Çß½À´Ï´Ù.");
break;
case '4':
ReadFriend();
break;
case '9':
exit(0);
}
}
DeleteAll();
}
// »ç¿ëÁßÀÎ ¸ðµç ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÑ´Ù.
void DeleteAll()
{
int i;
for (i=0;i<Num;i++) {
if (Friends[i].Name == NULL) {
break;
}
free(Friends[i].Name);
}
memset(Friends,0,sizeof(Friends));
Num=0;
}
// ±¸Á¶Ã¼ ¹è¿À» ÆÄÀÏ·Î ÀúÀåÇϱâ
void WriteFriend()
{
FILE *f;
tag_Header H;
int i,len;
gotoxy(5,5);
f=fopen("c:\\Friend.dat","wb");
if (f == NULL) {
puts("ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.");
} else {
strcpy(H.desc,"Ä£±¸¸ñ·Ï");
H.ver=110;
H.num=Num;
fwrite(&H,sizeof(tag_Header),1,f);
// NameÀÇ ±æÀÌ, Name, Age, Height
for (i=0;i<Num;i++) {
len=strlen(Friends[i].Name);
fwrite(&len,sizeof(int),1,f);
fwrite(Friends[i].Name,len,1,f);
fwrite(&Friends[i].Age,sizeof(int),1,f);
fwrite(&Friends[i].Height,sizeof(double),1,f);
}
fclose(f);
puts("ÆÄÀÏÀ» ÀúÀåÇß½À´Ï´Ù.");
}
}
// ÆÄÀϷκÎÅÍ ±¸Á¶Ã¼ ¹è¿ Àоî¿À±â
void ReadFriend()
{
FILE *f=NULL;
tag_Header H;
int i,len;
gotoxy(5,5);
f=fopen("c:\\Friend.dat","rb");
if (f == NULL) {
puts("ÆÄÀÏÀ» ¿ ¼ö ¾ø½À´Ï´Ù.");
} else {
// ÀÏ´Ü »ç¿ëÁßÀÎ µ¥ÀÌÅ͸¦ ¸ÕÀú Áö¿î´Ù.
DeleteAll();
fread(&H,sizeof(tag_Header),1,f);
if (strcmp(H.desc,"Ä£±¸¸ñ·Ï") != 0) {
puts("ÁÖ¼Ò·Ï ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù.");
goto end;
}
if (H.ver != 110) {
puts("¹öÀüÀÌ Æ²¸³´Ï´Ù.");
goto end;
}
Num=H.num;
for (i=0;i<Num;i++) {
fread(&len,sizeof(int),1,f);
Friends[i].Name=(char *)calloc(len+1,1);
fread(Friends[i].Name,len,1,f);
fread(&Friends[i].Age,sizeof(int),1,f);
fread(&Friends[i].Height,sizeof(double),1,f);
}
puts("ÆÄÀÏÀ» Àоú½À´Ï´Ù.");
}
end:
if (f)
fclose(f);
}
tag_Friend ±¸Á¶Ã¼ÀÇ Name ¸â¹ö°¡ Á¤ÀûÀÎ ¹è¿ÀÌ ¾Æ´Ï¶ó °¡º¯ÀûÀÎ ±æÀ̸¦ °¡Áú ¼ö ÀÖ´Â µ¿Àû ¹è¿ÀÇ Æ÷ÀÎÅÍ·Î º¯°æµÇ¾ú´Ù. ÀÌ·¸°Ô µÇ¸é ¾ó¸¶µçÁö ±ä À̸§À» ÀúÀåÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÆíÁý ÄÚµåµéÀº ½ÇÁ¦ ÀÔ·ÂµÈ ¹®ÀÚ¿ÀÇ ±æÀ̸¸Å ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°í Name¿¡ ±× Æ÷ÀÎÅ͸¦ ÀúÀåÇÒ °ÍÀÌ´Ù. ÀÌ ¿¹Á¦´Â ÆíÁý Äڵ尡 ÀÛ¼ºµÇ¾î ÀÖÁö ¾ÊÀ¸¹Ç·Î mainÀÇ ¼±µÎ¿¡¼ NameÀ» ÇÒ´çÇÏ¿© °ªÀ» º¹»çÇØ µÎ¾ú´Âµ¥ »ç¿ëÀÚ°¡ Á÷Á¢ ÀÔ·ÂÇÑ Á¤º¸¶ó°í °¡Á¤Çϵµ·Ï ÇÏÀÚ.
ÀÚ·á ±¸Á¶°¡ º¯°æµÇ¾úÀ¸¹Ç·Î ÀÌ ÀڷḦ °ü¸®ÇÏ´Â Äڵ嵵 º¯°æµÈ´Ù. ¸ðµç ·¹Äڵ带 »èÁ¦ÇÒ ¶§´Â Friends ¹è¿¸¸ 0À¸·Î ¸¸µé¾î¼´Â ¾ÈµÇ¸ç µ¿ÀûÀ¸·Î ÇÒ´çµÈ ¸Þ¸ð¸®µµ ȸ¼öÇØ¾ß ÇÑ´Ù. DeleteAllÀ̶ó´Â º°µµÀÇ ÇÔ¼ö¸¦ ¸¸µé°í ÀÌ ÇÔ¼ö¿¡¼ Friends ¹è¿À» Á¤¸®Çϵµ·Ï Çß´Ù. ÇÁ·Î±×·¥À» Á¾·áÇÒ ¶§µµ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.
½ÇÇàÁß¿¡ Friends ¹è¿Àº ´ÙÀ½°ú °°Àº ¸ð¾çÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù. NameÀº µ¿ÀûÀ¸·Î ÇÒ´çµÈ À̸§ ¹®ÀÚ¿ÀÇ ¹øÁö¸¦ °¡¸®Å°°í ÀÖÀ¸¸ç ÀÌ ¹®ÀÚ¿ÀÇ ±æÀÌ´Â °¡º¯ÀûÀÌ´Ù. µ¿ÀûÀ¸·Î ÇÒ´çµÇ´Â ¸Þ¸ð¸®´Â ±¸Á¶Ã¼¿¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀ¸¸ç ¾îµð¿¡ ÇÒ´çµÉÁö ¾Ë ¼ö ¾ø´Ù. ±×·¯³ª Name Æ÷ÀÎÅ͸¦ ÅëÇؼ ¾ðÁ¦µçÁö ÂüÁ¶ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ³í¸®ÀûÀ¸·Î ±¸Á¶Ã¼ÀÇ ÀϺζó°í º¼ ¼ö ÀÖ´Ù.
NameÀÌ °¡Áö°í ÀÖ´Â ¹øÁö¸¦ ÆÄÀÏ¿¡ ÀúÀåÇÏ´Â °ÍÀº ¾Æ¹« Àǹ̰¡ ¾ø´Ù´Â °ÍÂëÀº ½±°Ô ÁüÀÛÀÌ µÉ °ÍÀÌ´Ù. Æ÷ÀÎÅÍ´Â ¸Þ¸ð¸®¿¡ ÀÖÀ» ¶§³ª Àǹ̰¡ ÀÖ´Â °ÍÀÌÁö ÆÄÀÏ¿¡ ÀúÀåÇÒ ¶§´Â ¾Æ¹« Àǹ̰¡ ¾ø´Ù. ±×·¡¼ Æ÷ÀÎÅ͸¦ ÀúÀåÇؼ´Â ¾ÈµÇ¸ç ÀÌ Æ÷ÀÎÅÍ°¡ °¡¸®Å°´Â ¹øÁö¸¦ ã¾Æ°¡ ½ÇÁ¦ À̸§ ¹®ÀÚ¿À» ¾ò¾î ÆÄÀÏ¿¡ ÀúÀåÇØ¾ß ÇÑ´Ù. ¶Ç ´Ù¸¥ ¹®Á¦Á¡Àº ¹®ÀÚ¿ÀÇ ±æÀÌ°¡ °¡º¯ÀûÀ̱⠶§¹®¿¡ °íÁ¤µÈ ±æÀÌ·Î ·¹Äڵ带 ÀúÀåÇÒ ¼ö ¾ø´Ù´Â Á¡ÀÌ´Ù.
Æ÷ÀÎÅ͸¦ Æ÷ÇÔÇÏ´Â ±¸Á¶Ã¼ ¹è¿À» ÀúÀåÇÏ´Â WriteFriend ÇÔ¼ö¸¦ º¸ÀÚ. Çì´õ¸¦ ÀúÀåÇÏ´Â ºÎºÐ±îÁö´Â ÀÌÀü ¿¹Á¦¿Í ¿ÏÀüÈ÷ µ¿ÀÏÇÏ´Ù. ´Ü Çì´õÀÇ ¹öÀü ¹øÈ£°¡ Ʋ¸°µ¥ ÀÚ·á ±¸Á¶°¡ ¹Ù²î¾úÀ¸¹Ç·Î ÆÄÀÏÀÇ ¹öÀüµµ °°ÀÌ ¹Ù²ã¾ß ¾ÈÀüÇÏ´Ù. ·¹Äڵ尡 °¡º¯ ±æÀ̸¦ °¡Áö±â ¶§¹®¿¡ Name ¸â¹öÀÇ ±æÀ̸¦ ¸ÕÀú ÀúÀåÇÏ°í ³ª¸ÓÁö ¸â¹ö¸¦ ¼ø¼´ë·Î ÀúÀåÇØ¾ß ÇÑ´Ù. ±×·¡¾ß ÀÐÀ» ¶§ Name ¸â¹ö¸¦ À§ÇØ ¾ó¸¶¸¸ÅÀÇ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒÁö, NameÀÇ ±æÀÌ´Â ¾ó¸¶¸¸ÅÀÎÁö¸¦ ¾Ë ¼ö ÀÖ´Ù. Name ¸â¹öÀÇ ±æÀ̸¦ Á¤È®ÇÏ°Ô ÁöÁ¤Çؼ ÀúÀåÇϹǷΠNULL Á¾·á ¹®ÀÚ´Â ±»ÀÌ ÀúÀåÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±¸Á¶Ã¼ ¹è¿ÀÌ ÆÄÀÏ¿¡ ÀúÀåµÈ ¸ð¾çÀº ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.
´ÙÀ½Àº ÆÄÀÏ¿¡ ÀúÀåµÈ ±¸Á¶Ã¼ ¹è¿À» ÀоîµéÀÌ´Â Äڵ带 º¸ÀÚ. ¸ÕÀú ÆíÁýÁßÀÎ µ¥ÀÌÅ͸¦ Áö¿ö¾ß ÇϹǷΠDeleteAll ÇÔ¼ö¸¦ È£ÃâÇÏ¿© Friends ¹è¿À» ±ò²ûÇÏ°Ô Áö¿î´Ù. ¹°·Ð Á¤»óÀûÀÎ ÇÁ·Î±×·¥À̶ó¸é ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ ¹ÌÀúÀå ¹®¼¿¡ ´ëÇÑ È®ÀÎÀ» ¸ÕÀú ÇÒ °ÍÀÌ´Ù. Çì´õ¸¦ ÀоîµéÀÌ°í ÆÄÀÏÀ» È®ÀÎÇÏ°í ¹öÀüÀ» °Ë»çÇÏ´Â ¹æ¹ýÀº ÀÌÀü ¿¹Á¦¿Í µ¿ÀÏÇÏ´Ù. ¹öÀüÀÌ 110À¸·Î ¾÷±×·¹À̵åµÇ¾úÀ¸¹Ç·Î 110 ¹öÀüÀÇ µ¥ÀÌÅÍ ÆÄÀϸ¸ ÀоîµéÀÏ ¼ö ÀÖ´Ù. ¹°·Ð Á» ´õ Äڵ带 ÀÛ¼ºÇϸé ÇÏÀ§ ¹öÀüÀ» ÄÁ¹öÆÃÇؼ Àеµ·Ï ÇÒ ¼öµµ ÀÖ´Ù.
·¹Äڵ带 ÀоîµéÀÏ ¶§´Â lenÀ» ¸ÕÀú ÀÐ°í ³Î ¹®ÀÚ¸¦ °í·ÁÇÏ¿© len+1 ±æÀ̸¸Å NameÀ» µ¿ÀûÀ¸·Î ÇÒ´çÇ쵂 ÃʱâÈ°¡ µÇ´Â callocÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ÆÄÀÏ¿¡ ÀúÀåÇÒ ¶§ NULL Á¾·á ¹®ÀÚ¸¦ Æ÷ÇÔ½ÃÅ°Áö ¾Ê¾Ò±â ¶§¹®¿¡ ÀоîµéÀÏ ¶§ NULL Á¾·á ¹®ÀÚ¿À» Á÷Á¢ ¸¸µé¾î ÁÖ´Â °ÍÀÌ´Ù. ¹öÆÛ°¡ ÇÒ´çµÇ¸é Name¿¡ len ±æÀ̸¸Å ÀоîµéÀÌ°í ÀÌ¾î¼ Age¿Í Height¸¦ ÀоîµéÀδÙ. ÀÌ °úÁ¤À» Çì´õ¿¡ ÀúÀåµÇ¾î ÀÖ´Â ·¹ÄÚµå °³¼ö¸¸Å ¹Ýº¹ÇÏ¿´´Ù. ÀúÀåÇÒ ¶§¿Í ¶È°°Àº ¼ø¼´ë·Î Á¤È®ÇÑ ±æÀ̸¦ Á¶»çÇؼ ÀÐÀ¸¹Ç·Î Ʋ¸± ¼ö°¡ ¾ø´Ù.
µÎ °¡Áö ÀüÇüÀûÀÎ °æ¿ì¿¡ ´ëÇØ ¾Ë¾Æ ºÃ´Âµ¥ ½ÇÁ¦ ÇÁ·Î±×·¥ÀÇ ÀÚ·á ±¸Á¶´Â Àû¾îµµ ÀÌ ¿¹Á¦µéº¸´Ù´Â º¹ÀâÇÏ´Ù. ±¸Á¶Ã¼ ¹è¿ÀÌ ÁÖ ÀúÀå´ë»óÀÎ °æ¿ì°¡ ¾ÐµµÀûÀ¸·Î ¸¹±â´Â ÇÏÁö¸¸ °³º° ±¸Á¶Ã¼°¡ ÈξÀ ´õ ¸¹Àº Á¤º¸¸¦ Æ÷ÇÔÇÒ °ÍÀÌ´Ù. ±¸Á¶Ã¼ ¾È¿¡ ¶Ç ´Ù¸¥ ±¸Á¶Ã¼ÀÇ ¹è¿ÀÌ ÀÖÀ» ¼ö ÀÖ°í ¶Ç ±× ±¸Á¶Ã¼ ¾È¿¡´Â µ¿ÀûÀ¸·Î ÇÒ´çµÈ Æ÷ÀÎÅÍ°¡ ¼³Ê°³¾¿ Á¸ÀçÇϱ⵵ ÇÑ´Ù. ÀÌ·± º¹ÀâÇÑ °æ¿ì¶óµµ ¿øÄ¢´ë·Î¸¸ ÆÄÀÏ ÀÔÃâ·ÂÀ» ÇÏ¸é µÈ´Ù.
ÀúÀåÇÒ ¶§´Â ¸ðµç Á¤º¸¸¦ ´Ù Æ÷ÇÔ½ÃÅ°°í ´Ù½Ã ÀÐÀ» ¶§ ¿ø·¡ µ¥ÀÌÅ͸¦ ãÀ» ¼ö ÀÖµµ·Ï¸¸ ÇÏ¸é µÉ °ÍÀÌ´Ù. ¸Þ¸ð¸®´Â ÀÔüÀûÀε¥ ºñÇØ ÆÄÀÏÀº ¼±ÇüÀûÀ̹ǷΠ¸Þ¸ð¸®ÀÇ ¿©±âÀú±â¿¡ Èð¾îÁ® ÀÖ´Â Á¤º¸µéÀ» ¸ð¾Æ¼ ¼øÂ÷ÀûÀ¸·Î ÆÄÀÏ·Î ÀúÀåÇÏ°í Àоî¿Ã ¶§´Â ´Ù½Ã ÀÔüÀûÀ¸·Î ¸Þ¸ð¸®¿¡ Àü°³ÇÑ´Ù. ÀúÀåÇÒ ´ë»óÀÌ °¡º¯ ±æÀÌÀÏ °æ¿ì ±æÀ̸¦ ¹Ýµå½Ã ¸ÕÀú ÀúÀåÇØ¾ß ÇÑ´Ù.