Wonder
@wonderjay
Reviews Written
2
Average Rating
5.0
Posts
Q&A
11.6 ๊ฐ strcat() ๊ตฌํ ์ค ์ง๋ฌธ์ด ์์ต๋๋ค.
์๋ ํ์ธ์ ์กฐ๊ต๋!! ๊ฐ์ ์ค์์ ๊ต์๋๊ป์ strcat() ์ ์ง์ ๊ตฌํํด๋ณด๋ผ๊ณ ํ์ ์, ๊ตฌ๊ธ๋ง + ์น๊ตฌ์ ์กฐ์ธ์ผ๋ก ์ฝ๋๋ฅผ ๋ฐ์, ์ดํดํ๋ ์ค ์ด๋ ค์์ ๊ฒช์ด ์ง๋ฌธ์ ๋๋ ธ์๋๋ฐ... -> ์ค์์์ต๋๋ค.. ใ ใ ํด๊ฒฐ๋์์ด์. ๊ทธ๋๋ ํน์ ๋ค๋ฅธ ์๊ฐ์์ด ์ ์ฝ๋๋ฅผ ๋ณด๊ณ ๊ถ๊ธํด ํ ์๋ ์๊ธฐ์ ๋ณต์ต ๊ฒธ, ์๋์ ์์ธํ๊ฒ ์ค๋ช ๋จ๊ฒผ์ด์! #include /* 11.6 ๊ฐ strcat() ์ค๋ช ์ค, ๊ต์๋๊ป์ strcat() ์ ์ง์ ๊ตฌํํด๋ณด๋ผ๊ณ ํ์ ์ ๊ตฌ๊ธ๋ง์ ๋์ํ์ฌ... ๊ตฌํํด๋ณด์์ต๋๋ค! ๊ตฌํ ๊ธฐ๋ฅ :src ๋ฌธ์์ด์ dest ๋ฌธ์์ด์ ๋์ ๋ถ์ฌ๋ฃ๋ ๊ฒ (1) dest, src ๊ฐ๊ฐ ๋ฌธ์์ด์ ์์ ์ฃผ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์. (2) dest์ ๋('\0' ์ด ์ ์ฅ๋ ์ฃผ์)์ ์ฐพ์. (2-1) dest ๋ฌธ์์ด์ ์์์ฃผ์๋ฅผ ์์๋ก temp ์ ์ ์ฅํ์. (2-2) *temp ๋ '\0'์ ๋ง๋๋ฉด false ์ด๋ฏ๋ก while(*temp){temp++;} ์ผ๋ก ํ์ฌ๊ธ dest์ ๋ ์ฃผ์๋ฅผ temp์ ์ ์ฅํ ์ ์๋ค. (3) ๋๋ฒ์งธ ๋ฃจํ์์ while(*src){*temp++=*src++;}์ผ๋ก ํ์ฌ๊ธ src ๋ฌธ์์ด์ ์ฒ์๋ถํฐ *src = '\0' ์ผ๋๊น์ง *src ๋ฅผ *temp ์ ์ ์ฅํ๋ค. temp๋ ์ด๋ dest์ ๋ ์ฃผ์์ด๋ฏ๋ก, dest์ ๋์ src ๋ฌธ์์ด์ด ์ ์ฅ๋๋ค. (4) ์์๋ก ์ ์ธํ temp ํฌ์ธํฐ๋ฅผ NULL ๋ก ๋ฐ๊ฟ์ค ๋ค dest๋ฅผ returnํ๋ค. */ char* strcat_ptr(char* dest, const char* src) // (1) dest, src ๊ฐ๊ฐ ๋ฌธ์์ด์ ์์ ์ฃผ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์. { char* temp = dest; //(2) dest ๋ฌธ์์ด์ ์์์ฃผ์๋ฅผ ์์๋ก temp ์ ์ ์ฅํ์. while (*temp) //(2) dest์ ๋('\0' ์ด ์ ์ฅ๋ ์ฃผ์)์ ์ฐพ์. { // (2-2) *temp ๋ '\0'์ ๋ง๋๋ฉด false ์ด๋ฏ๋ก temp++; //while(*temp){temp++;} ์ผ๋ก ํ์ฌ๊ธ dest์ ๋ ์ฃผ์๋ฅผ temp์ ์ ์ฅํ ์ ์๋ค. } while (*src) //(3) ๋๋ฒ์งธ ๋ฃจํ์์ while(*src){*temp++=*src++;}์ผ๋ก ํ์ฌ๊ธ { /*src ๋ฌธ์์ด์ ์ฒ์๋ถํฐ *src = '\0' ์ผ๋๊น์ง *src ๋ฅผ *temp ์ ์ ์ฅํ๋ค. temp๋ ์ด๋ dest์ ๋ ์ฃผ์์ด๋ฏ๋ก, dest์ ๋์ src ๋ฌธ์์ด์ด ์ ์ฅ๋๋ค.*/ *temp++ = *src++; } temp = 0x00; //(4) ์์๋ก ์ ์ธํ temp ํฌ์ธํฐ๋ฅผ NULL ๋ก ๋ฐ๊ฟ์ค ๋ค dest๋ฅผ returnํ๋ค. return dest; } int main() { char arr1[100] = "Hi,there!"; //arr1 ์ ์ธ char arr2[100] = "I'm here!"; //arr2 ์ ์ธ printf("%s", strcat_ptr(arr1, arr2)); // ์ง์ ๊ตฌํํ strcat_ptr์ ์ด์ฉํ์ฌ arr2๋ฅผ arr1 ๋์ ๋ณต์ฌ. return 0; } ----------------------
- 0
- 2
- 475
Q&A
์ฝ๋ ์ง๋ฌธ์ ๋๋ค!
+ 7.8 ๋จ์ด ์ธ๊ธฐ ์์ ๊ฐ์์ 9๋ถ๋์ ๋๋ค!
- 0
- 2
- 210




