ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


°æ·Î ºÐ¸®Çϱâ
8³â Àü
ÆÄÀÏ Ã³¸®¸¦ ÇÏ´Ùº¸¸é ÆÄÀÏ °æ·Î¸¦ ÆÄÀϸí°ú ÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·Î·Î ºÐ¸®ÇÏ¿©¾ß ÇÒ ¶§°¡ ÀÖ½À´Ï´Ù.

ÀÌ·² ¶§ Àüü °æ·Î¸¦ µå¶óÀ̺ê¿Í °æ·Î, ÆÄÀϸí, È®ÀåÀÚ·Î ³ª´©¾îÁÖ´Â _splitpath ÇÔ¼ö¸¦ ¾²°Å³ª °æ·Î¿¡¼­

ÆÄÀϸíÀ» ¾ò¾îÁÖ´Â PathStripPath ÇÔ¼ö µîÀ» ¾µ ¼ö ÀÖÁö¸¸ Çì´õÆÄÀÏÀ̳ª ¶óÀ̺귯¸® ÆÄÀÏÀ» Ãß°¡Çؾß

Çؼ­ ´Ù¼Ò ¹«°Ì´Ù´Â ´ÜÁ¡ÀÌÀÖ½À´Ï´Ù.



±×·¡¼­ °£´ÜÇÑ ¹®ÀÚ¿­ 󸮷ΠÆÄÀϸí°ú ÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·Î·Î ¹®ÀÚ¿­À» ºÐ¸®ÇÏ´Â ÇÔ¼ö¸¦ ±¸¼ºÇÏ¿´½À´Ï´Ù.





1. ÆÄÀÏ¸í ¾ò±â



    °æ·ÎÀÇ µÞºÎºÐ¿¡ ÀÖ´Â ÆÄÀϸíÀ» ã¾Æ¼­ ÆÄÀϸíÀÇ ±æÀ̸¸Å­ µ¿ÀûÇÒ´çÇÑ ¹®ÀÚ¿­ º¯¼ö¿¡ ÆÄÀϸíÀ»

    ÀúÀåÇÕ´Ï´Ù. À̶§ GetFileNameFromPath ÇÔ¼ö ³»ºÎ¿¡¼­ µ¿ÀûÇÒ´çÇÑ º¯¼ö´Â ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÑ ÂÊ¿¡¼­

    ÇÒ´çÇØÁ¦ ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.



    char *GetFileNameFromPath(const char *parm_path_name)
    {

        // ¹®ÀÚ¿­ Æ÷ÀÎÅÍ¿¡ Áõ°¨¿¬»êÀÚ¸¦ ¼öÇàÇؾßÇϹǷΠÆ÷ÀÎÅÍ ¸Å°³ º¯¼ö¸¦ ´Ù¸¥ ¹®ÀÚ¿­ Æ÷ÀÎÅÍ¿¡ º¹»çÇÑ´Ù.
        const char *p_check_path = parm_path_name;
        const char *p_pos = NULL;



        // ¹®ÀÚ¿­ÀÇ ³¡ÀÌ ¾Æ´Ñ °æ¿ì ¹Ýº¹¹®À» ¼öÇàÇÑ´Ù.

        while(*p_check_path != '\0'){

            // \\ ±âÈ£ À̰ųª / ±âÈ£ÀÎ °æ¿ì ÇØ´ç À§Ä¡¸¦ ÀúÀåÇÑ´Ù.
            if(*p_check_path == '\\') p_pos = p_check_path;
            else if(*p_check_path == '/') p_pos = p_check_path;

            // ¹®ÀÚ¿­ Æ÷ÀÎÅ͸¦ Áõ°¡½ÃŲ´Ù.
            p_check_path++;
        }



        // \\ ±âÈ£ ´ÙÀ½ ¹®ÀÚ¸¦ °¡¸®Å°µµ·Ï Æ÷ÀÎÅ͸¦ Áõ°¡½ÃŲ´Ù.

        p_pos++;



        // p_pos ¿¡ ÀúÀåµÈ À§Ä¡ °ªÀÌ ÀÖ´Â °æ¿ì

        if(p_pos != NULL){

            // ÆÄÀϸíÀÇ ½ÃÀÛÀ» °¡¸®Å°´Â p_posºÎÅÍ ¹®ÀÚ¿­ÀÇ ³¡±îÁöÀÇ ±æÀ̸¦ ±¸ÇÑ´Ù.
            int length = strlen(p_pos);

            // ¹®ÀÚ¿­ ±æÀ̸¸Å­ µ¿ÀûÇÒ´çÇÑ´Ù.
            char *p_file_name = new char[length + 1];

            // ¹®ÀÚ¿­À» º¹»çÇÑ´Ù.
            strcpy(p_file_name, p_pos);
            p_file_name[length] = 0;

            return p_file_name;
        }
        return NULL;
    }



    void main()

    {

        char *p_path = "D:\\test\\temp\\WorkPing\\readme.txt";

        // ÆÄÀϸíÀ» ¾ò´Â ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

        char *p_file_name= GetFileNameFromPath(p_path);

        // ÆÄÀϸíÀ» Ãâ·ÂÇÑ´Ù.

        printf("Àüü °æ·Î¸í : %s \nÆÄÀϸí : %s \n" p_path, p_file_name);



        // ÆÄÀϸíÀ» ¸ðµÎ »ç¿ëÇÏ¸é µ¿ÀûÇÒ´çÀ» ÇØÁ¦ÇÑ´Ù.

        delete[] p_file_name;

    }





2. ÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·Î¸í ¾ò±â



    °æ·Î¿¡¼­ ÆÄÀϸíÀº µÞºÎºÐ¿¡ Àֱ⶧¹®¿¡ ÆÄÀϸíÀÌ ½ÃÀÛÇÏ´Â À§Ä¡¿¡ 0 À» ÀúÀåÇÏ¿© ¹®ÀÚ¿­À» ÀÚ¸¦ ¼öµµ

    ÀÖ°í, º»·¡ÀÇ ¸Å°³ º¯¼ö¸¦ º¯°æÇÏ°í ½ÍÁö ¾ÊÀ¸¸é °æ·Î¸íÀ» µ¿ÀûÇÒ´çÇÏ¿© ¹ÝȯÇÒ ¼öµµ ÀÖ½À´Ï´Ù.





    2.1 ¸Å°³ º¯¼ö¿¡ Á÷Á¢ °æ·Î¸í ÀúÀåÇϱâ



        void GetPathExceptFileName(char *parm_path_name)
        {

            char *p_pos = NULL;



            // ¹®ÀÚ¿­ÀÇ ³¡ÀÌ ¾Æ´Ñ °æ¿ì ¹Ýº¹¹®À» ¼öÇàÇÑ´Ù.
            while(*parm_path_name != '\0'){

                // \\ ±âÈ£ À̰ųª / ±âÈ£ÀÎ °æ¿ì ÇØ´ç À§Ä¡¸¦ ÀúÀåÇÑ´Ù.
                if(*parm_path_name == '\\') p_pos = parm_path_name;
                else if(*parm_path_name == '/') p_pos = parm_path_name;

                // ¹®ÀÚ¿­ Æ÷ÀÎÅ͸¦ Áõ°¡½ÃŲ´Ù.
                parm_path_name++;
            }

            // ÆÄÀÏ¸í ¾Õ¿¡ \\°¡ ÀÖ´Â À§Ä¡¿¡ \0À» ÀúÀåÇÑ´Ù.

            if(p_pos != NULL) *p_pos = '\0';
        }



        void main()

        {

            // °æ·Î¸¦ ÀúÀåÇÑ´Ù. À̶§ p_path¿¡ ÀúÀåµÈ °æ·Î¸íÀº º¯°æµÉ °ÍÀ̹ǷΠchar *°¡ ¾Æ´Ñ

            // char [] ·Î ¼±¾ðÇؾßÇÑ´Ù.

            char p_path[] = "D:\\test\\temp\\WorkPing\\readme.txt";

            // ÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·Î¸íÀ» ¾ò´Â´Ù.
            GetPathExceptFileName(p_path);

        }



  

    2.2 µ¿ÀûÇÒ´çÇÑ º¯¼ö¿¡ °æ·Î¸í ÀúÀåÇϱâ



        char *GetPathExceptFileName(char *parm_path_name)
        {
            // ¹®ÀÚ¿­ Æ÷ÀÎÅÍ¿¡ Áõ°¨¿¬»êÀÚ¸¦ ¼öÇàÇؾßÇϹǷΠÆ÷ÀÎÅÍ ¸Å°³ º¯¼ö¸¦ ´Ù¸¥ ¹®ÀÚ¿­ Æ÷ÀÎÅÍ¿¡

            // º¹»çÇÑ´Ù.
            char *p_check_path = parm_path_name;
            char *p_pos = NULL;



             // ¹®ÀÚ¿­ÀÇ ³¡ÀÌ ¾Æ´Ñ °æ¿ì ¹Ýº¹¹®À» ¼öÇàÇÑ´Ù.
            while(*p_check_path != '\0'){
                // \\ ±âÈ£ À̰ųª / ±âÈ£ÀÎ °æ¿ì ÇØ´ç À§Ä¡¸¦ ÀúÀåÇÑ´Ù.
                if(*p_check_path == '\\') p_pos = (char *)p_check_path;
                else if(*p_check_path == '/') p_pos = (char *)p_check_path;


                // ¹®ÀÚ¿­ Æ÷ÀÎÅ͸¦ Áõ°¡½ÃŲ´Ù.
                p_check_path++;
            }
            
            // p_pos ¿¡ ÀúÀåµÈ À§Ä¡ °ªÀÌ ÀÖ´Â °æ¿ì
            if(p_pos != NULL){
                // \\±âÈ£°¡ ÀúÀåµÈ À§Ä¡ÀÇ ÁÖ¼Ò¿¡¼­ °æ·ÎÀÇ ½ÃÀÛ ÁÖ¼Ò»©¼­ °æ·ÎÀÇ ±æÀ̸¸Å­ µ¿ÀûÇÒ´çÇÑ´Ù.
                char *p_path = new char[p_pos - parm_path_name + 1];
                // ¿ø·¡ÀÇ °æ·Î¿¡¼­ ÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·ÎÀÇ ±æÀ̸¸Å­À» µ¿ÀûÇÒ´çÇÑ º¯¼ö¿¡ º¹»çÇÑ´Ù.
                strncpy(p_path, parm_path_name, p_pos - parm_path_name);
                // ¹®ÀÚ¿­ÀÇ ¸¶Áö¸·¿¡ 0À» ÀúÀåÇÑ´Ù.
                p_path[p_pos - parm_path_name] = 0;


              return p_path;            
            }
            return NULL;
        }



        void main()

        {  

            char p_path[] = "D:\\test\\temp\\WorkPing\\readme.txt";
            // ÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·Î¸íÀ» ¾ò´Â´Ù.
            char *result_path = GetPathExceptFileName(p_path);

            printf("Àüü °æ·Î¸í : %s \nÆÄÀϸíÀ» Á¦¿ÜÇÑ °æ·Î¸í : %s\n", p_path, result_path);


            // µ¿ÀûÇÒ´çÀ» ÇØÁ¦ÇÑ´Ù.
            delete[] result_path;

        }
ÃßõÃßõ : 363 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,705
jQuery.getJSON, JSON µ¥ÀÌÅ͸¦ ·Îµå
2,704
jQuery length¿Í slideToggle ¿¹Á¦
2,703
[CSS] before¿Í after ¼±ÅÃÀÚ¸¦ ÀÌ¿ëÇÏ¿© Float ¼Ó¼º ÇØÁ¦
2,702
jQuery toggleClass() Methods
2,701
jQuery stop(),Callback,Chaining
2,700
jQuery Effects - Animation
2,699
jQuery Effects - Sliding
2,698
jQuery fadeIn(), fadeOut(), fadeToggle(), fadeTo()
2,697
jQuery hide(), show(), toggle()
2,696
jquery trigger(), ÇÔ¼ö ½ÇÇà½ÃÅ°±â
2,695
ºñ¹Ð¹øÈ£(Æнº¿öµå) À¯È¿¼º üũ (¹®ÀÚ, ¼ýÀÚ, Ư¼ö¹®ÀÚÀÇ Á¶ÇÕÀ¸·Î 6~16ÀÚ¸®)
2,694
PHP ¹®ÀÚ¿­¿¡ ÇѱÛÀÌ Æ÷ÇԵǾî ÀÖ´ÂÁö üũ
2,693
ÇѱÛüũ(preg match)
2,692
javascript escape/unescape -> php
2,691
Æú´õ¾ÈÀÇ ÆÄÀÏ °¡Áö°í ³î±â
2,690
Á¤±Ô Ç¥Çö½ÄÀ¸·Î ÇÑ±Û ¹®ÀÚ Æ÷ÇÔÇÏ´ÂÁö È®ÀÎÇϱâ
2,689
À¯´ÏÄڵ带 ÀÌ¿ë ÇÑ±Û Ãʼº, Áß¼º, Á¾¼ºÀ¸·Î ÂÉ°³±â - ÇѱÛ/¿µ¹® º¯È¯
2,688
ÇÑ±Û Ãʼº,Áß¼º,Á¾¼º ÀÚ¸£±â ÇÔ¼ö
2,687
ÆÄÀ̽㿡¼­ À¯´ÏÄÚµå ½ºÆ®¸² ´Ù·ç±â
2,686
Python 2.x ÇÑ±Û ÀÎÄÚµù °ü·Ã Á¤¸®
2,685
%uABCD%u1234 °°Àº urlÀÇ À¯´ÏÄÚµå µðÄÚµù
2,684
ÇѱÛ, ÇÑÀÚ¸¦ À¯´ÏÄÚµå·Î º¯È¯Çϱâ
°æ·Î ºÐ¸®Çϱâ
2,682
ÇÑ±Û ASCII Äڵ带 À¥ URL¿¡¼­ »ç¿ëµÇ´Â UTF8 ÄÚµå·Î º¯È¯
2,681
Unicode (UTF-8) ÀÎÄÚµù¿¡¼­ ÇÑ±Û ±ÛÀÚ¼ö Ãâ·Â ¹× iconv substr
2,680
PHP¿¡¼­ À¯´ÏÄÚµå·Î ¹®ÀÚ¿­ ÀÎÄÚµùÇϱâ
2,679
[JavaScript] µÚ·Î°¡±â È÷½ºÅ丮°¡ ¾ø´Â °ÍÀ» ¾î¶»°Ô ¾Ë ¼ö ÀÖÀ»±î?
2,678
htmlspecialchars, entity decode
2,677
Php : Finding Chrome and Safari Browsers
2,676
[Shoutcast] jPlayer and Shoutcast Configuration
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.