Çʵå Å×½ºÆ®
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;
}