ApiEdit´Â ÆÄÀϷκÎÅÍ ÀÐÀº ÅؽºÆ®¸¦ buf ¸â¹ö°¡ °¡¸®Å°´Â ¹öÆÛ¿¡ ÀúÀåÇÑ´Ù. ÆÄÀÏ ÀÔÃâ·Â ´ë»óÀº ¹Ù·Î ÀÌ buf°¡ °¡¸®Å°´Â ¸Þ¸ð¸®À̸ç bufÀÇ ³»¿ëÀ» ÆÄÀÏ¿¡ ¾²´Â °ÍÀÌ ÀúÀåÇÏ´Â °ÍÀÌ°í ÆÄÀÏÀ» Àоî buf¿¡ º¹»çÇϸé ÀÌ ÆÄÀÏÀ» Àоî¿À´Â °ÍÀÌ´Ù. ÀÌ ¸â¹ö¸¦ Á÷Á¢ ¾×¼¼½ºÇÏ¸é °£´ÜÇÏ°Ô ÆÄÀÏ ÀÔÃâ·ÂÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ ¸â¹ö´Â private ¼Ó¼ºÀ» °¡Áö´Â öÀúÇÏ°Ô º¸È£µÈ ¸â¹ö¿©¾ß Çϸç È£½ºÆ®¿¡¼ Á÷Á¢ ÀÌ ¸â¹ö¸¦ ¾×¼¼½ºÇϵµ·Ï ³»¹ö·Á µÎ¾î¼´Â ¾ÈµÈ´Ù.
È£½ºÆ®¿¡¼ ¾ÈÀüÇÏ°Ô »ç¿ëÇÑ´Ù¸é ¹®Á¦°¡ ¾øÁö¸¸ ¸¸¿¡ Çϳª¶óµµ buf[1234]=0 °°Àº ´ëÀÔ¹®À» ½ÇÇàÇѴٰųª buf[-34]=¡®S¡¯Ã³·³ ¾û¶×ÇÑ À§Ä¡¸¦ ¾×¼¼½ºÇÏ°Ô µÇ¸é ¾ÆÁÖ À§ÇèÇÏ´Ù. °íÀÇ·Î ±×·² ¸®¾ß ¾ø°ÚÁö¸¸ ½Ç¼ö³ª ¿¡·¯·Î ÀÎÇØ ÀÌ·± ¹®ÀåÀÌ ½ÇÇàµÉ ¼öµµ ÀÖÀ¸¹Ç·Î ApiEdit´Â ÀÌ·± À§Çè¿¡ ´ëÇØ ÃæºÐÈ÷ ¹æ¾îÀûÀΠż¼¸¦ °®Ãâ ÇÊ¿ä°¡ ÀÖ´Ù. ±×·¡¼ buf´Â öÀúÇÏ°Ô ¼û±â°í ÀÌ ¸â¹ö¿¡ ÅؽºÆ®¸¦ ÀÔÃâ·ÂÇÒ ¼ö ÀÖ´Â ÇÔ¼ö¸¦ Á¦°øÇÑ´Ù. ´ÙÀ½ ¼¼ ¸â¹öÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.
class CApiEdit
{
....
void SetText(TCHAR *TextBuf);
void GetText(TCHAR *TextBuf, int BufSize);
int GetTextLength();
¹öÆÛ¿¡ ÅؽºÆ®¸¦ ÀÐ°í ¾²´Â GetText, SetText ÇÔ¼ö ¿Ü¿¡µµ ¹®¼ ±æÀ̸¦ Á¶»çÇÏ´Â GetTextLength ÇÔ¼ö°¡ ÇÊ¿äÇÏ´Ù. ¿Ö³ÄÇϸé È£½ºÆ®°¡ ¹®¼ ³»¿ëÀ» Àбâ Àü¿¡ ¹öÆÛ¸¦ ¹Ì¸® ÇÒ´çÇØ¾ß Çϴµ¥ ¹öÆÛÀÇ ±æÀ̸¦ ¾Ë¾Æ¾ß ÇÊ¿äÇÑ ¸¸Å ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ ÇÔ¼öµéÀÇ ÄÚµå´Â ´ÙÀ½°ú °°´Ù.
void CApiEdit::SetText(TCHAR *TextBuf)
{
InitDoc();
Insert(0,TextBuf);
}
void CApiEdit::GetText(TCHAR *TextBuf, int BufSize)
{
lstrcpyn(TextBuf,buf,BufSize);
}
int CApiEdit::GetTextLength()
{
return doclen;
}
¹®¼ ±æÀÌ´Â doclen º¯¼ö·Î °£´ÜÇÏ°Ô Á¶»çÇÒ ¼ö ÀÖÀ¸¹Ç·Î GetTextLength ÇÔ¼ö´Â ÀÌ º¯¼ö°ª¸¸ ¸®ÅÏÇÏ¸é µÈ´Ù. SetText ÇÔ¼ö´Â InitDoc ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¹®¼¸¦ ÃʱâÈÇÏ°í ¹®¼ óÀ½ÀÎ ¿ÀÇÁ¼Â 0¿¡¼ Insert ÇÔ¼ö¸¦ È£ÃâÇÏ¿© Àü´Þ¹ÞÀº ÅؽºÆ®¸¦ »ðÀÔÇÑ´Ù. lstrcpy(buf,TextBuf) ÄÚµå·Î ¹Ù·Î º¹»çÇؼ´Â ¾ÈµÇ¸ç ¹Ýµå½Ã »ðÀÔÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇϸé Insert ÇÔ¼ö´Â ¹öÆÛ¿¡ ¹®ÀÚ¿À» º¹»çÇÏ´Â ÀÛ¾÷ ¿Ü¿¡µµ ¹öÆÛ ±æÀ̸¦ °ü¸®ÇÏ´Â ¾ÆÁÖ Áß¿äÇÑ ÀÏÀ» Çϱ⠶§¹®ÀÌ´Ù. Insert ÇÔ¼ö¸¦ È£ÃâÇϸé TextBufÀÇ ±æÀÌ°¡ ¾ó¸¶Àΰ¡¿¡ »ó°ü¾øÀÌ buf Å©±â°¡ µû¶ó¼ ´Ã¾î³ª¹Ç·Î ¾Æ¹«¸® Å« ÆÄÀÏÀÌ¶óµµ ÀÐÀ» ¼ö ÀÖ´Ù.
GetText ÇÔ¼ö´Â bufÀÇ ¹®ÀÚ¿À» TextBuf·Î º¹»çÇ쵂 BufSize ÀÌ»óÀ» ³ÑÁö ¾Êµµ·Ï ÇÑ´Ù. È£ÃâÃø¿¡¼´Â GetTextLength ÇÔ¼ö·Î ¹®¼ ±æÀ̸¦ ±¸ÇÏ°í ÀÌ ±æÀÌ¿¡ ³Î Á¾·á¹®ÀÚÀÇ ±æÀ̸¦ ´õÇÑ ¸¸Å ¹öÆÛ¸¦ ÇÒ´çÇÑ ÈÄ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. lstrcpyn ÇÔ¼ö´Â ÃÖ´ë BufSize-1°³ÀÇ ¹®ÀÚ¸¸À» º¹»çÇÏ¸ç ³¡¿¡ ³Î Á¾·á¹®ÀÚ¸¦ ºÙ¿©Áشٴ Ư¡À» Àß °£ÆÄÇØ¾ß ÇÑ´Ù.