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


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

ÀÌ·² ¶§ Àüü °æ·Î¸¦ µå¶óÀ̺ê¿Í °æ·Î, ÆÄÀϸí, È®ÀåÀÚ·Î ³ª´©¾îÁÖ´Â _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;

        }
ÃßõÃßõ : 479 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,771
Á¤±Ô½Ä ÆÐÅÏ ¹®¹ý
2,770
[Á¤±ÔÇ¥Çö½Ä]Á¤±ÔÇ¥Çö½Ä Á¤¸®
2,769
fopen ¸·ÇûÀ» ¶§ fsocketopen »ç¿ë¹æ¹ý
2,768
[php]¿øÇÏ´Â ´Ü¾î¸¦ ã¾Æ¼­ ġȯ ÇØÁÖ´Â ¹æ¹ý preg_replace
2,767
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (mysqli Ŭ·¡½º¹æ½Ä)
2,766
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (pdo ¹æ½Ä)
2,765
PHP + MYSQL ¿¬°á Å×½ºÆ® ¿¹Á¦ (original)
2,764
DB Á¢±Ù ¹× Äõ¸®¹®(insert,select,update,delete)
2,763
[MySQL] Çʵ忡¼­ ƯÁ¤¹®ÀÚ Æ÷ÇÔ ¶Ç´Â Á¦¿ÜÇÑ DB °Ë»ö, LIKE ,NOT
2,762
jQuery ÇÙ½É - ³ëµå ´Ù·ç±â
2,761
jQuery show() / hide() / toggle() »ç¿ë¹ý
2,760
[jQuery] readyÀÇ »ç¿ë¹ý
2,759
[jQuery] À§Ä¡±â¹Ý Selector
2,758
[jQuery] css selector
2,757
document.getElementByTagName()¸¦ jQuery·Î ¹Ù²ãº¸ÀÚ.
2,756
getElementsByClassName¸¦ jQuery·Î ¹Ù²ãº¸ÀÚ.
2,755
getElementById¸¦ jQuery·Î ¹Ù²ãº¸ÀÚ
2,754
ÀÚ¹Ù½ºÅ©¸³Æ® ¿¬½À ¿¹Á¦ - ·£´ýÇÏ°Ô ¿òÁ÷ÀÌ´Â ÅØ½ºÆ® ¸¸µé±â
2,753
jQuery Mobile¿¡¼­ À¯¿ëÇÑ ÄÚµå 10°¡Áö
2,752
ÀÚ¹Ù½ºÅ©¸³Æ®·Î º¹»çÇϱ⠱â´É ±¸ÇöÇϱâ
2,751
[JqueryMobile] - Jquery Mobile È­¸é °­Á¦ ȸÀü
2,750
jQuery – ½º¸¶Æ®Æù ½ºÅ©¸° ȸÀü °¨Áö ½ºÅ©¸³Æ®
2,749
javascript audioÆÄÀÏ Àç»ý
2,748
javascript º¯¼ö scope shadowing Ŭ·ÎÀú
2,747
javascript ¹Ýº¹¹®
2,746
javascript Á¶°Ç¹®
2,745
javascript ¹è¿­
2,744
javascript ¿¬»êÀÚ¿Í ÇÔ¼ö
2,743
javascript ÀÚ·áÇü
2,742
javascript º¯¼ö
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æÄ§
Copyright ¨Ï musictrot All rights reserved.