ÆÄÀÏÀ» ¿¾úÀ¸¸é ÆÄÀϾÈÀÇ ³»¿ëÀ» ÀÐ°í ¾´´Ù. ¸ÕÀú °£´ÜÇÑ Æ÷¸ËÀÎ ¹®ÀÚ¿ºÎÅÍ ÀÔÃâ·ÂÇØ º¸ÀÚ. À̶§´Â ´ÙÀ½ µÎ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ¸ðµç ÆÄÀÏ ÀÔÃâ·Â ÇÔ¼ö´Â ´ë»ó ½ºÆ®¸²À» Àü´ÞÇϱâ À§ÇØ FILEÇüÀÇ ±¸Á¶Ã¼ Æ÷ÀÎÅ͸¦ Àμö·Î ÃëÇÑ´Ù´Â Á¡¿¡¼ °øÅëÀûÀÌ´Ù.
char *fgets(char *string, int n, FILE *stream);
int fputs(const char *string, FILE *stream);
fgets°¡ ÆÄÀÏ¿¡¼ ¹®ÀÚ¿À» ÀоîµéÀÌ´Â ÇÔ¼öÀÌ´Ù. ÀоîµéÀÎ ¹®ÀÚ¿À» ÀúÀåÇÒ ¹öÆÛ¸¦ ù ¹øÂ° Àμö·Î ÁÖ°í µÎ ¹øÂ° Àμö·Î ÀÌ ¹öÆÛÀÇ Å©±â¸¦ ¾Ë·Á ÁØ´Ù. fgets´Â ÃÖÃÊÀÇ °³Çà ¹®ÀÚ¸¦ ¸¸³¯ ¶§±îÁö ¶Ç´Â ¹öÆÛÀÇ ±æÀ̸¸Å ¹®ÀÚ¿À» ÀоîµéÀ̹ǷΠÀÌ ÇÔ¼ö¸¦ ¹Ýº¹ÀûÀ¸·Î È£ÃâÇϸé ÅØ½ºÆ® ÆÄÀÏÀ» ÁÙ ´ÜÀ§·Î ÀÐÀ» ¼ö ÀÖ´Ù. ÅØ½ºÆ® ÆÄÀÏÀÇ ÇÑ ÁÙÀº Åë»ó 80¹®ÀÚ Á¤µµ µÇ¹Ç·Î ¹öÆÛ´Â 256Á¤µµ¸é ºñ±³Àû ÃæºÐÇÏ´Ù. ¸¸¾à Àд µµÁß¿¡ ¿¡·¯°¡ ¹ß»ýÇ߰ųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇßÀ¸¸é NULLÀ» ¸®ÅÏÇÑ´Ù.
fputs´Â ù ¹øÂ° Àμö·Î Àü´ÞµÈ ¹®ÀÚ¿À» ÆÄÀÏ·Î Ãâ·ÂÇϴµ¥ Áß°£¿¡ °³Çà ¹®ÀÚ°¡ ÀÖ´õ¶óµµ ÇѲ¨¹ø¿¡ Ãâ·ÂÇÑ´Ù. ¸¸¾à Áß°£¿¡ ³Î Á¾·á ¹®ÀÚ¸¦ ¸¸³ª¸é ³Î Á¾·á ¹®ÀÚ ¾Õ±îÁö¸¸ Ãâ·ÂÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â »õ·Î¿î ÆÄÀÏÀ» ¸¸µé°í ÀÌ ÆÄÀÏ¿¡ µÎ ÁÙ·Î µÈ ÅØ½ºÆ®¸¦ Ãâ·ÂÇÑ´Ù.
|
¿¹ Á¦ : fputs |
#include <Turboc.h>
void main()
{
FILE *f;
char *str="ÀÌ ÆÄÀÏÀº C Ç¥ÁØ ÇÔ¼ö·Î »ý¼ºµÈ ÅØ½ºÆ® ÆÄÀÏÀÔ´Ï´Ù.\n"
"Cµå¶óÀ̺êÀÇ ·çÆ® µð·ºÅ丮¿¡ Test.txt¶ó´Â À̸§À¸·Î »ý¼ºµË´Ï´Ù.\n";
f=fopen("c:\\Test.txt","wt");
if (f != NULL) {
fputs(str,f);
fclose(f);
}
}
ÆÄÀÏ ÀÔÃâ·ÂÀ» À§ÇØ FILE ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ f¸¦ ¼±¾ðÇϰí fopenÀ¸·Î ÆÄÀÏÀ» ¿µÇ ¸ðµå´Â ¾²±â(w)·Î, ÆÄÀÏ ÇüÅÂ´Â ÅØ½ºÆ®(t)·Î ÁÖ¾î »õ·Î¿î ÅØ½ºÆ® ÆÄÀÏÀ» ¸¸µéµµ·Ï Çß´Ù. ÆÄÀÏÀÌ ¹«»çÈ÷ »ý¼ºµÇ¾úÀ¸¸é fputs ÇÔ¼ö·Î str ¹®ÀÚ¿À» ÆÄÀÏ·Î Ãâ·ÂÇϰí fclose ÇÔ¼ö·Î ÆÄÀÏÀ» ´Ý¾Ò´Ù. str ¹®ÀÚ¿³»¿¡ °³Çà ÄÚµå´Â '\n'À¸·Î ±â·ÏµÇ¾î ÀÖÁö¸¸ ÅØ½ºÆ® ¸ðµå·Î ÆÄÀÏÀ» »ý¼ºÇßÀ¸¹Ç·Î fputs°¡ ½ÇÁ¦·Î ÆÄÀÏ·Î Ãâ·ÂÇÏ´Â ÄÚµå´Â '\r\n'À¸·Î º¯È¯µÈ´Ù.
¿¹Á¦¸¦ ½ÇÇàÇÑ ÈÄ Å½»ö±â·Î È®ÀÎÇØ º¸¸é C µå¶óÀ̺êÀÇ ·çÆ® µð·ºÅ丮¿¡ Test.txt¶ó´Â ÆÄÀÏÀÌ »ý¼ºµÇ¾î ÀÖÀ» °ÍÀ̸ç ÀÌ ÆÄÀÏÀ» ¸Þ¸ðÀåÀ¸·Î ¿¾î º¸¸é µÎ ÁÙÀÇ ÅØ½ºÆ®°¡ ÀúÀåµÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÀÌ·¸°Ô »ý¼ºµÈ ÅØ½ºÆ® ÆÄÀÏÀ» ´Ù½Ã ÀÐ¾î¼ ÀúÀåµÈ ÅØ½ºÆ®¸¦ ȸéÀ¸·Î Ãâ·ÂÇÑ´Ù.
|
¿¹ Á¦ : fgets |
#include <Turboc.h>
void main()
{
FILE *f;
char buf[256];
f=fopen("c:\\Test.txt","rt");
if (f!=NULL) {
for (;;) {
if (fgets(buf,256,f)==NULL) {
break;
}
printf("%s",buf);
}
fclose(f);
}
}
fopenÀ¸·Î ÀÐÀ» ÆÄÀÏÀ» ¿µÇ À̹ø¿¡´Â Àб⠸ðµå(r)·Î ¿¾úÀ¸¸ç fgets·Î ÇÑ ÁÙ¾¿ Àоî ȸéÀ¸·Î Ãâ·ÂÇϱ⸦ ÆÄÀÏ ³¡¿¡ À̸¦ ¶§±îÁö ¹Ýº¹ÇÑ´Ù. Àб⿡ »ç¿ëÇÏ´Â buf´Â 256¸¸ÅÀÇ Å©±â·Î ¼±¾ðÇß°í fread ÇÔ¼öÀÇ µÎ ¹øÂ° Àμö·Î ÇÑ ¹ø¿¡ 256¸¸Å ÀÐ¾î µéÀ̵µ·Ï Çߴµ¥ ÀÌ °ªÀº 2 ÀÌ»óÀÌ¸é ¾î¶² °ªÀ» Á־ »ó°ü¾ø´Ù. ´Ü, ÀÌ °ªÀÌ ³Ê¹« ÀÛÀ¸¸é Á¶±Ý¾¿ ¿©·¯ ¹ø Àоî¾ß ÇϹǷΠÀüüÀûÀÎ Àб⠼º´ÉÀÌ ¶³¾îÁú °ÍÀÌ´Ù. ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼´Â ÃæºÐÈ÷ Å« °ªÀ» ÁÖ´Â °ÍÀÌ ÁÁ´Ù. feof ÇÔ¼ö´Â Àμö·Î ÁÖ¾îÁø ½ºÆ®¸²ÀÇ ³¡(EOF:End Of File)±îÁö Àоú´ÂÁö¸¦ Á¶»çÇÑ´Ù.
int feof(FILE *stream);
ÀÌ ÇÔ¼ö°¡ TRUE¸¦ ¸®ÅÏÇÒ ¶§±îÁö ¹Ýº¹ÀûÀ¸·Î fgets ÇÔ¼ö¸¦ È£ÃâÇÏ¸é ÆÄÀÏÀÇ ³¡±îÁö ¸ðµç ³»¿ëÀ» ÀÐÀ» ¼ö ÀÖ´Ù. ´ÙÀ½ µÎ ÇÔ¼ö´Â ½ºÆ®¸²À¸·ÎºÎÅÍ ¹®ÀÚ Çϳª¾¿À» ÀÔÃâ·ÂÇÑ´Ù.
int fgetc(FILE *stream);
int fputc(int c, FILE *stream);
ÀÔÃâ·Â À§Ä¡´Â ¹°·Ð FPÀ̸ç ÇöÀç À§Ä¡¿¡¼ ÇÑ ¹®ÀÚ¸¦ Àаųª ¹®ÀÚ Çϳª¸¦ Ãâ·ÂÇÑ´Ù. ´ÙÀ½ µÎ ÇÔ¼ö´Â ºí·Ï ´ÜÀ§·Î ÀÔÃâ·ÂÇÑ´Ù.
size_t fread(void *buffer, size_t size, size_t count, FILE *stream);
size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream);
µÎ ÇÔ¼öÀÇ Àμö´Â µ¿ÀÏÇѵ¥ buffer¿¡ ÀúÀåµÈ sizeÅ©±âÀÇ ¸Þ¸ð¸® ºí·Ï count°³¸¦ ½ºÆ®¸²À¸·Î ÀÔÃâ·ÂÇÏ¸ç ½ÇÁ¦·Î ÀÔÃâ·ÂÇÑ ±æÀ̸¦ ¸®ÅÏÇÑ´Ù. ´ë°³ÀÇ °æ¿ì ÁöÁ¤ÇÑ Å©±â¸¸Å ÀÔÃâ·ÂÇÏÁö¸¸ ÆÄÀÏÀÇ ³¡ ºÎºÐÀ» Àаųª µð½ºÅ©°¡ °¡µæ áÀ» ¶§´Â ´õ ÀÛÀº Å©±â¸¸ ÀÔÃâ·ÂÇÒ ¼öµµ ÀÖ´Ù. ÀÌ µÎ ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ±¸Á¶Ã¼ÀÇ ¹è¿À̳ª ÀÓÀÇ Å¸ÀÔÀÇ ÁýÇÕÀ» ÇѲ¨¹ø¿¡ ½ºÆ®¸²À¸·Î ÀÔÃâ·ÂÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÆÄÀÏÀ» º¹»çÇϴµ¥ ¾Õ¿¡¼ ¸¸µé¾ú´ø Test.txt ÆÄÀÏÀ» Àоî Test2.txt¶ó´Â ÆÄÀÏÀ» »õ·Î ¸¸µç´Ù.
|
¿¹ Á¦ : fread |
#include <Turboc.h>
void main()
{
FILE *src, *dest;
char buf[256];
size_t nRead;
src=fopen("c:\\Test.txt","rb");
if (src != NULL) {
dest=fopen("c:\\Test2.txt","wb");
if (dest != NULL) {
while(!feof(src)) {
nRead=fread(buf,1,256,src);
fwrite(buf,1,nRead,dest);
}
fclose(dest);
}
fclose(src);
}
}
src¿¡ º¹»çÇÒ ¿øº»À» Àб⠸ðµå(r)·Î ¿°í dest´Â ¾²±â ¸ðµå(w)·Î ¿¬ ÈÄ srcÀÇ Ã³À½ºÎÅÍ 256¹ÙÀÌÆ®¾¿ Àоî dest·Î Ãâ·ÂÇϱ⸦ ÆÄÀÏÀÇ ³¡¿¡ À̸¦ ¶§±îÁö ¹Ýº¹ÇÏ¸é µÈ´Ù. ´Ü, ¿øº» ÆÄÀÏÀÇ ³¡ÀÏ ¶§´Â 256¹ÙÀÌÆ®¸¦ ´Ù ÀÐÁö ¸øÇÒ ¼öµµ ÀÖÀ¸¹Ç·Î fread°¡ ¸®ÅÏÇÏ´Â ½ÇÁ¦ ÀÐÀº ±æÀ̸¸Å¸¸ Ãâ·ÂÇØ¾ß ÇÑ´Ù. Test.txt´Â ¾ÆÁÖ ÂªÀº ÆÄÀÏÀÌÁö¸¸ ÀÌ·± ½ÄÀ¸·Î fread·Î Àоî fwrite·Î Ãâ·ÂÇϸé Å« ÆÄÀϵµ ¾ó¸¶µçÁö º¹»çÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº ¼½ÄÈµÈ ½ºÆ®¸² ÀÔÃâ·Â ÇÔ¼öÀÌ´Ù.
int fscanf(FILE *stream, const char *format [,argument ]...);
int fprintf(FILE *stream, const char *format [,argument ]...);
»ç¿ëÇÏ´Â ¹æ¹ýÀº scanf, printf¿Í µ¿ÀÏÇ쵂 ´ë»óÀÌ È¸éÀ̳ª Űº¸µå°¡ ¾Æ´Ï¶ó ÆÄÀÏÀ̶ó´Â Á¡¸¸ ´Ù¸£´Ù. ÀÌ µÎ ÇÔ¼ö¸¦ »ç¿ëÇϸé Á¤¼ö³ª ½Ç¼ö º¯¼ö¸¦ ½ºÆ®¸²À¸·Î ÀÔÃâ·ÂÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÆÄÀÏ·Î ¼½ÄÈµÈ Ãâ·ÂÀ» º¸³½ ÈÄ ´Ù½Ã ÀоîµéÀδÙ.
|
¿¹ Á¦ : fprintf |
#include <TurboC.h>
void main()
{
char str[128]="String";
int i=1234;
double d=3.1416;
FILE *f;
f=fopen("c:\\Test.dat","wb");
if (f != NULL) {
fprintf(f,"%d %f %s",i,d,str);
fclose(f);
}
i=0;
d=0.0;
f=fopen("c:\\Test.dat","rb");
if (f!=NULL) {
fscanf(f,"%d %lf %s",&i,&d,&str);
printf("ÆÄÀÏ¿¡¼ ÀÐÀº Á¤¼ö°ª=%d, ½Ç¼ö°ª=%f, ¹®ÀÚ¿=%s\n",i,d,str);
fclose(f);
}
}
Á¤¼ö, ½Ç¼ö, ¹®ÀÚ¿À» Test.dat ÆÄÀÏ·Î Ãâ·ÂÇÑ ÈÄ ´Ù½Ã ÀÐ¾î µé¿© Ãâ·ÂÇØ º¸¾Ò´Ù. ½ÇÇà °á°ú´Â ¸¶Ä¡ ȸ鿡 Á÷Á¢ º¯¼ö°ªÀ» Ãâ·ÂÇÑ °Í °°Áö¸¸ ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀÌ Ãâ·ÂµÈ °ÍÀÌ´Ù.
ÆÄÀÏ¿¡¼ ÀÐÀº Á¤¼ö°ª=1234, ½Ç¼ö°ª=3.141600, ¹®ÀÚ¿=String
C:\Test.dat ÆÄÀÏÀ» ¿¾î º¸¸é ¼¼ º¯¼öÀÇ °ªÀÌ °ø¹éÀ¸·Î ±¸ºÐµÇ¾î ³ª¶õÈ÷ ÀúÀåµÇ¾î ÀÖ´Ù. fscanf´Â ÀÌ °ªµéÀ» °ø¹éÀ¸·Î ±¸ºÐÇÏ¿© ¼¼ º¯¼ö·Î ´Ù½Ã ÀоîµéÀδÙ. ÀÌ µÎ ÇÔ¼ö¸¦ »ç¿ëÇϸé ȸéÀ¸·Î Ãâ·ÂÇÒ ¼ö ÀÖ´Â ¸ðµç °ªµéÀ» ÆÄÀϷεµ Ãâ·ÂÇÒ ¼ö ÀÖ°í Űº¸µå·Î ÀԷ¹ÞÀ» ¼ö ÀÖ´Â ¸ðµç °ªÀ» ÆÄÀÏ¿¡¼ ÀԷ¹ÞÀ» ¼ö ÀÖ´Ù. ȸéÀ̳ª Űº¸µåµµ ÆÄÀϰú °°Àº µ¿ÁúÀûÀÎ ½ºÆ®¸²À̹ǷΠÀ̰ÍÀÌ °¡´ÉÇÏ´Ù.