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

°æ·Î ºÐ¸®Çϱâ
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;

        }
ÃßõÃßõ : 354 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,765
ÀÚ¹Ù½ºÅ©¸³Æ® ¿¬½À ¿¹Á¦ - ·£´ýÇÏ°Ô ¿òÁ÷ÀÌ´Â ÅؽºÆ® ¸¸µé±â
2,764
jQuery Mobile¿¡¼­ À¯¿ëÇÑ ÄÚµå 10°¡Áö
2,763
ÀÚ¹Ù½ºÅ©¸³Æ®·Î º¹»çÇϱ⠱â´É ±¸ÇöÇϱâ
2,762
[JqueryMobile] - Jquery Mobile È­¸é °­Á¦ ȸÀü
2,761
jQuery – ½º¸¶Æ®Æù ½ºÅ©¸° ȸÀü °¨Áö ½ºÅ©¸³Æ®
2,760
javascript audioÆÄÀÏ Àç»ý
2,759
javascript º¯¼ö scope shadowing Ŭ·ÎÀú
2,758
javascript ¹Ýº¹¹®
2,757
javascript Á¶°Ç¹®
2,756
javascript ¹è¿­
2,755
javascript ¿¬»êÀÚ¿Í ÇÔ¼ö
2,754
javascript ÀÚ·áÇü
2,753
javascript º¯¼ö
2,752
[jQuery] animate()¿¡¼­ stop()ÀÇ Á߿伺
2,751
javascript audioÆÄÀÏ Àç»ý
2,750
[jQuery.$ajax]mysql + php ¼­¹ö¿¡¼­ json µ¥ÀÌÅÍ ¾ò¾î¿À±â
2,749
Daum¿¡¼­ »ç¿ëÇÏ°í ÀÖ´Â ¸¶¿ì½º ¿À¸¥ÂÊ »ç¿ë ±ÝÁö ½ºÅ©¸³Æ®
2,748
MP3 ¸µÅ©½Ã ½ºÆ®¸®¹Ö µÇÁö ¾Ê°í ´Ù¿î·Îµå µÇµµ·Ï ¸¸µé±â
2,747
jQuery ºñµ¿±â Ajax Åë½ÅÀ» Çغ¸ÀÚ!! - JSON¹æ½Ä
2,746
[jQuery] load ¸¦ ÀÌ¿ëÇÑ ½Ç½Ã°£ ÆäÀÌÁö °¡Á®¿À±â
2,745
[jQuery]ºñµ¿±âÀûÀ¸·Î JSONÆÄÀÏ ·Îµå
2,744
[jQuery]µ¿ÀûÀ¸·Î ¿ø°Ý ÆäÀÌÁö ·Îµå
2,743
[jQuery]¿öÅ͸¶Å© ÅؽºÆ®¹Ú½º ÄÁÆ®·Ñ ±¸Çö
2,742
[jQuery]Æ®¸®ºä ÄÁÆ®·Ñ
2,741
[jQuery]¾Ö´Ï¸ÞÀÌ¼Ç È¿°ú ¸ØÃß±â - stop()
2,740
[jQuery]¿©·¯°¡Áö È¿°ú µ¿½Ã ó¸® - animate()
2,739
[jQuery]½½¶óÀÌµå ¾÷
2,738
[jQuery]½½¶óÀÌµå ¾÷/´Ù¿î - slideToggle()
2,737
[jQuery] scroll down °ú scroll up ÇÒ¶§ À̺¥Æ® Àû¿ë½ÃÅ°±â
2,736
[jQuery]addClass() : ½ºÅ¸ÀÏ Ãß°¡ [removeClass()]
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.