Çʵå Å×½ºÆ®

1. strcpy() ÇÔ¼öÀÇ ¿øÇüÀº ´ÙÀ½°ú °°´Ù. µÎ ¹øÂ° ÀÎÀÚÀÇ Å¸ÀÔÀÌ const char* ÀÎ ÀÌÀ¯¿¡ ´ëÇØ¼­ ¼³¸íÇØº¸ÀÚ. ¶ÇÇÑ const ¼Ó¼ºÀÌ ¾ø´Â °æ¿ì¿¡´Â ¾î¶² ¹®Á¦Á¡ÀÌ ¹ß»ýÇÏ´ÂÁö ¼³¸íÇØº¸ÀÚ.

 

char *strcpy( char *strDestination,  const char *strSource);

 

Á¤´ä->

ÇÔ¼ö ¾È¿¡¼­ strSource°¡ °¡¸®Å°´Â ¹®ÀÚ¿­ÀÇ ³»¿ëÀ» º¯°æÇÏÁö ¾ÊÀ½À» ÀǹÌÇÑ´Ù. ¸¸¾à¿¡ const ¼Ó¼ºÀ» ÁÖÁö ¾Ê´Â´Ù¸é strcpy() ÇÔ¼öÀÇ °³¹ßÀÚ°¡ ½Ç¼ö·Î strSource°¡ °¡¸®Å°´Â ¹®ÀÚ¿­ÀÇ ³»¿ëÀ» º¯°æÇÏ´Â °æ¿ì¿¡ ÄÄÇ»ÅͷκÎÅÍ Á¶¾ðÀ» ¹ÞÀ» ¼ö°¡ ¾ø´Ù. ´Ù½Ã ¸»Çؼ­, ¿À·ù ¸Þ½ÃÁö°¡ ¹ß»ýÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÚ½ÅÀÇ ½Ç¼ö¸¦ ±× Áï½Ã ¹ß°ßÇÒ ¼ö°¡ ¾ø´Ù.

 

2. strlen()ÇÔ¼ö¿Í µ¿ÀÏÇÑ ±â´ÉÀ» ÇÏ´Â ÇÔ¼ö¸¦ Á÷Á¢ ¸¸µé¾î º¸ÀÚ. ´ÙÀ½ÀÇ strlen() ÇÔ¼öÀÇ ¿øÇüÀ» Âü°íÇØµµ ÁÁ´Ù.

 

int strlen(const char* string);

 

Á¤´ä->

int my_strlen(const char* str)

{

       int i = 0;

       while( *(str + i) != NULL)

       {

             ++i;

       }

 

       return i;

}

 

3. Àý´ë °æ·Î¸¦ ÀÔ·Â ¹ÞÀº ÈÄ¿¡ µð·ºÅ丮 ºÎºÐ¸¸ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾îº¸ÀÚ. ¿¹¸¦ µé¾î¼­ 'd:\My Library\Temp\test.txt' °¡ ÀԷµǾú´Ù¸é 'd:\MyLibrary\Temp\' °¡ Ãâ·ÂµÇ¾î¾ß ÇÑ´Ù.

 

Á¤´ä->

´ÙÀ½ ÇÁ·Î±×·¥¿¡¼­´Â Á¶±Ý Àü¿¡ ¸¸µé¾ú´ø my_strlen() ÇÔ¼ö¿Í ¹®ÀÚ¿­¿¡¼­ ƯÁ¤ ¹®ÀÚÀÇ À§Ä¡¸¦ ã¾ÆÁÖ´Â reverse_find() ÇÔ¼ö¸¦ ¸¸µé¾î¼­ »ç¿ëÇÑ´Ù. µÚ¿¡¼­ C++ ½ºÅ¸ÀÏÀÇ ¹®ÀÚ¿­À» ¹è¿ì°ÔµÇ¸é µ¿ÀÏÇÑ ÀÛ¾÷À» º¸´Ù ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Ù.

 

#include <iostream>

using namespace std;

 

int my_strlen(const char* str)

{

             int i = 0;

             while( *(str + i) != NULL)

             {

                           ++i;

             }

 

             return i;

}

 

// ¹®ÀÚ¿­ÀÇ µÚ¿¡¼­ºÎÅÍ Æ¯Á¤ ¹®ÀÚ¸¦ ã´Â ÇÔ¼ö

int reverse_find(const char* str, char toFind)

{

             int i = my_strlen( str) - 1;

 

             while( str[i] != toFind && i >= 0)

             {

                           --i;

             }

            

             return i;

}

 

int main()

{

             // ¿ª½½·¡½¬¸¦ ÀǹÌÇϱâ À§Çؼ­´Â \\ó·³ ÇØÁÙ Çʿ䰡 ÀÖ´Ù.

             // ¿ª½½·¡½¬¸¦ ÇÑ ¹ø¸¸ ¾²¸é À̽ºÄÉÀÌÇÁ ¹®ÀÚ¿­·Î ÀνĵȴÙ.

             char* path = "d:\\My Library\\Temp\\test.txt";

 

             // ¸¶Áö¸· ¿ª½½·¡½¬ÀÇ À§Ä¡¸¦ ã´Â´Ù.

             int index = reverse_find( path, '\\');

 

             // ù¹øÂ° ¹®ÀÚ¿­ºÎÅÍ ¸¶Áö¸· ¿ª½½·¡½¬±îÁö Ãâ·ÂÇÑ´Ù.

             for (int i = 0; i <= index; ++i)

                           cout << path[i];

 

             cout << "\n";

             return 0;

}