If you consider it like a string rather than a picture, how would you move the first two letters to the back of a string? There are several ways to do it, and some are better than others, but simple will be good enough for now.

The >> operator is essentially a divide by a power of 2, so for example x >> 3 is the same as x / (2 * 2 * 2), which turns out as x / 8. It doesn't do anything useful on strings (or any other arrays).

[In C++ the >> operator, and the complementary << operator, are used as a way to input and output (respectively) data from/to the console, as alternatives to scanf and printf - but in standard C, that's not meaningful at all. ]

I need some help on this pls.
how to i move the colums to the other end for horizontal scroll?

Start by writing a piece of code to scroll a piece of text around, based on:
str: char array with text in it.
n = strlen(str);
m = some number you've given.
write a function
scroll(str, n, m)
that modifies by str "rotating" it M steps.

If you can't do that, it's no point in trying to get that working on an image - it will just be much harder to figure out what's going on, because you won't be bale to immediately spot what's going wrong. Once you can do that, just change the scroll to take pixels (ints) instead of chars, or rows of pixels instead of chars for the vertical scroll, and you have your function ready to go.