Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <memory.h>
- #include <string.h>
- #include <malloc.h>
- void str_cpy(char **const _ppDest, char const *const _psSource)
- {
- int nSourceSize = -1, nSize = 0;
- while (_psSource[++nSourceSize]) {};
- if (*_ppDest)
- nSize = _msize(*_ppDest);
- if (nSize < nSourceSize + 1)
- *_ppDest = new char[nSourceSize + 1];
- memcpy(*_ppDest, _psSource, nSourceSize + 1);
- }
- void str_cat(char **const _ppDest, char const *const _psSource)
- {
- int nSourceSize = -1, nSize = 0, nDestSize = -1;
- while (_psSource[++nSourceSize]) {}; while ((*_ppDest)[++nDestSize]) {};
- if (*_ppDest)
- nSize = _msize(*_ppDest);
- if (nSize < nDestSize + nSourceSize)
- *_ppDest = new char[nDestSize + nSourceSize + 1];
- memcpy(*_ppDest + nDestSize, _psSource, nSourceSize + 1);
- }
- int main()
- {
- char *s = nullptr;
- str_cpy(&s, "Hola Hola");
- str_cpy(&s, s + 5);
- str_cat(&s, " World");
- printf("%s!\n", s);
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment