How to copy the last N characters from a string to the beginning of the string in C++

1 Answer

0 votes
#include <cstring>
#include <iostream>
 
int main()
{
    char str[] = "1234567890";
    int N = 3;
    
    // sizeof(str) = 11 // 10 + null
    
    // void* memmove( void* dest, const void* src, std::size_t count )
    
    std::memmove(str, str + (sizeof(str) - 1 - N) , N); // copies from [7, 8, 9] to [0, 1, 2]
    
    std::cout << str << '\n';
}


/*
run:
       
8904567890
    
*/

 



answered Sep 13, 2024 by avibootz
...