17-4-´Ù.µð·ºÅ丮 °ü¸®

´ÙÀ½Àº ÆÄÀÏÀ» ´ã´Â ±×¸©ÀÎ µð·ºÅ丮 °ü·Ã ÇÔ¼ö¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. ´ÙÀ½ ¼¼ ÇÔ¼ö°¡ °¡Àå ±âº»ÀûÀÎ µð·ºÅ丮 °ü¸® ÇÔ¼öÀÌ´Ù.

 

int _chdir(const char *dirname);

int _mkdir(const char *dirname);

int _rmdir(const char *dirname);

 

_chdir ÇÔ¼ö´Â ÇöÀç µð·ºÅ丮¸¦ º¯°æÇÑ´Ù. ÀÌ ÇÔ¼ö·Î º¯°æÇÑ ÇöÀç µð·ºÅ丮¸¦ ÀÛ¾÷ µð·ºÅ丮¶ó°í Çϸç ÀÌÈÄ »ç¿ëµÇ´Â »ó´ë °æ·ÎµéÀº ÀÛ¾÷ µð·ºÅ丮¸¦ ±âÁØÀ¸·Î ÇÑ´Ù. _mkdirÀº µð·ºÅ丮¸¦ »ý¼ºÇϸç _rmdirÀº µð·ºÅ丮¸¦ Á¦°ÅÇ쵂 ºñ¾îÀÖÁö ¾ÊÀº µð·ºÅ丮´Â »èÁ¦ÇÒ ¼ö ¾ø´Ù. ´ÙÀ½ ÇÔ¼ö´Â ÇöÀç ÀÛ¾÷ µð·ºÅ丮¸¦ Á¶»çÇÑ´Ù.

 

char *_getcwd(char *buffer, int maxlen);

 

´ÙÀ½ µÎ ÇÔ¼ö´Â ÆÄÀÏ °æ·Î¸¦ °¢°¢ÀÇ ¿ä¼Ò·Î ºÐ¸®ÇÑ´Ù. ÆÄÀÏ °æ·Î´Â µå¶óÀ̺ê, µð·ºÅ丮, ÆÄÀϸí, È®ÀåÀÚ·Î ±¸¼ºµÇ¾î Àִµ¥ Á÷Á¢ ¹®ÀÚ¿­À» Á¶ÀÛÇÏ´Â °ÍÀº ¹«Ã´ ¹ø°Å·Î¿î ÀÏÀÌ´Ù. µð·ºÅ丮¿Í ÆÄÀÏ À̸§¿¡ °ø¹éÀÌ µé¾î°¥ ¼ö ÀÖ°í ÆÄÀϸí°ú È®ÀåÀÚ¸¦ ±¸ºÐÇÏ´Â ¸¶Ä§Ç¥µµ ÀÓÀÇÀÇ °³¼ö¸¸Å­ µé¾î°¥ ¼ö Àֱ⠶§¹®¿¡ »ý°¢º¸´Ù ÈξÀ ´õ ±î´Ù·Ó´Ù.

°æ·Î °ü¸® ÇÔ¼ö´Â ÆÄÀÏ ½Ã½ºÅÛÀÇ À̸§ ±ÔÄ¢´ë·Î Á¤È®ÇÏ°Ô °æ·Î ¿ä¼Ò¸¦ ºÐ¸®ÇÏ°í ÇÕÃÄ ÁֹǷΠ°£ÆíÇÏ°Ô ¾µ ¼ö ÀÖ´Ù. ƯÈ÷ À©µµ¿ìÁî¿¡´Â °æ·Î¸¦ °ü¸®ÇÏ´Â ´ëÀÀµÇ´Â ÇÔ¼ö°¡ ¾ø±â ¶§¹®¿¡ ÀÌ µÎ ÇÔ¼ö°¡ ¹«Ã´ À¯¿ëÇÏ°Ô »ç¿ëµÈ´Ù.

 

void _splitpath(const char *path, char *drive, char *dir, char *fname, char *ext);

void _makepath(char *path, const char *drive, const char *dir, const char *fname, const char *ext);

 

_splitpath ÇÔ¼ö´Â ÇÑ °³ÀÇ ÀÔ·Â °æ·Î¸¦ ¹Þ¾Æµé¿© ÀÌ °æ·Î¸¦ ¿ä¼Òº°·Î ºÐ¸®ÇÏ¿© ³× °³ÀÇ ¹®ÀÚ¿­ ¹öÆÛ¿¡ °¢°¢ ÀúÀåÇÑ´Ù. ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ·Á¸é ºÐ¸®µÈ ¿ä¼Ò¸¦ ÀúÀåÇÒ 4°³ÀÇ ¹öÆÛ¸¦ ¹Ì¸® ÁغñÇØ¾ß Çϴµ¥ °ü½É¾ø´Â ¿ä¼Ò¿¡ ´ëÇؼ­´Â NULL°ªÀ» Àü´ÞÇصµ »ó°ü¾ø´Ù. ´ÙÀ½¿¡ °£´ÜÇÑ ¿¹Á¦¸¦ º¸µµ·Ï ÇÏÀÚ.

 

¿¹ Á¦ : splitpath

#include <Turboc.h>

 

void main()

{

     char path[MAX_PATH];

     char drive[_MAX_DRIVE];

     char dir[_MAX_DIR];

     char fname[_MAX_FNAME];

     char ext[_MAX_EXT];

 

     strcpy(path,"c:\\My Document\\Test\\Report 2.5.bak");

     _splitpath(path,drive,dir,fname,ext);

     printf("ÆÄÀϸí = %s\n",fname);

}

 

´Ù¼Ò º¹ÀâÇÑ °æ·Î¿¡ ÀúÀåµÇ¾î ÀÖ´Â ÆÄÀÏÀÇ ¿ÏÀü °æ·Î¿¡¼­ ÆÄÀÏ À̸§¸¸ Á¶»çÇؼ­ Ãâ·ÂÇØ º¸¾Ò´Ù. _splitpath ÇÔ¼ö´Â ´ÙÀ½°ú °°ÀÌ ÆÄÀÏ ¿ä¼Ò¸¦ ºÐ¸®Çϴµ¥ ¾îµð±îÁö°¡ µð·ºÅ丮ÀÌ°í ¾îµð±îÁö°¡ ÆÄÀÏ À̸§ÀÎÁö¸¦ Á¤È®ÇÏ°Ô ÆǺ°Çس½´Ù. UNCµµ ÀνÄÇϹǷΠ³×Æ®¿öÅ© ÆÄÀÏ °æ·Îµµ Àß ºÐ¸®ÇÑ´Ù.

ÀÌ·¸°Ô ºÐ¸®µÈ °æ·Î´Â _makepath³ª sprintf·Î ´Ù½Ã Çϳª·Î ÇÕÄ¥ ¼ö ÀÖ´Ù. ¹°·Ð ºÐ¸®µÈ °¢ ¿ä¼Ò¸¦ °³º°ÀûÀ¸·Î º¯°æÇÑ ÈÄ ÇÕÄ¡´Â °Íµµ °¡´ÉÇѵ¥ ¿¹¸¦ µé¾î ÆÄÀÏÀÇ È®ÀåÀÚ¸¸ ´Ù¸¥ °ÍÀ¸·Î ¹Ù²Û´Ù°Å³ª µå¶óÀ̺길 ¹Ù²Ü ¼öµµ ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÆÄÀÏÀÇ È®ÀåÀÚ¸¦ ÁöÁ¤ÇÑ °ÍÀ¸·Î º¯°æÇÑ´Ù.

 

¿¹ Á¦ : ChangeExt

#include <Turboc.h>

 

void ChangeExt(char *path, char *newext)

{

     char drive[_MAX_DRIVE];

     char dir[_MAX_DIR];

     char fname[_MAX_FNAME];

     char ext[_MAX_EXT];

 

     _splitpath(path,drive,dir,fname,ext);

     sprintf(path,"%s%s%s%s",drive,dir,fname,newext);

}

 

void main()

{

     char doc[MAX_PATH]="c:\\My Doc\\Diary\\2005³â 6¿ù.txt";

 

     ChangeExt(doc,".bak");

     printf("¹é¾÷ ÆÄÀÏ = %s\n",doc);

}

 

ÆÄÀÏ À̸§Àº ±×´ë·Î »ç¿ëÇϸ鼭 È®ÀåÀÚ¸¸ ´Ù¸¥ °ÍÀ¸·Î ¹Ù²Ù°íÀÚ ÇÒ ¶§ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ¾ÈÀüÇϸç Æí¸®ÇÏ´Ù.