Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int strlenM(const char* str)
- {
- int len{ 0 };
- //for (; *str++; ++len);
- while (*str++)
- {
- ++len;
- }
- return len;
- }
- void strdupM(const char* src, char* dest)
- {
- while (*src)
- {
- *dest++ = *src++;
- }
- *dest = '\0';
- };
- char* strndupM(const char* src, char* dest, int size)
- {
- for (int cnt{ 0 }; *dest++ = (cnt < size - 1 ? *src++ : 0); cnt++);
- return dest;
- }
- char* strcpyM(const char* src, char* dest)
- {
- for (dest += strlenM(dest); *dest++ = *src++;);
- return dest;
- }
- char* strncpyM(const char* src, int size, char* dest)
- {
- //int cnt{ strlenM(dest) };
- //for (dest += cnt; *dest++ = (cnt < size - 1 ? *src++ : '\0'); cnt++);
- int cnt{ 0 };
- for (; *dest++; ++cnt);
- --dest;
- for (; *dest++ = (cnt < size - 1 ? *src++ : '\0'); cnt++);
- return dest;
- }
- int main()
- {
- //char str[20]{ 'H', 'e', 'l','l','o',' ',',','w', 'o', 'r','l','d','!' };
- char str[20]{ "Hello, world!" };
- char* strDyn{ new char[30]{ "Hello" } };
- char* str1{ new char[10]{", world!"} };
- strncpyM(str1, 30, strDyn);
- //strndupM("Test str copy",5, str1);
- std::cout << strDyn << '\n';
- //std::cout << strlenM(strDyn) << '\n';
- //char* strOut{ strDyn };
- //while (*strOut)
- //{
- // std::cout << *strOut++;
- //}
- //std::cout << '\n';
- delete[] strDyn;
- delete[] str1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement