I am trying to learn some of this beautiful language but I've got stuck on this. Problem is: Why does the last count shows only Witaj PJC not Witaj Cpp PJC? As you see function app has to append transformed 2nd word to 1st one.
Thanks for any help. 
If you could give me any good tutorial about pointers I would appreciate that. Thanks!
#include <iostream>
#include <string.h>
using namespace std;
void app(char *str2, char *str1){
    for(int i =0; i < strlen(str2); i++){
        *(str2++);
    }
    for(int i =0; i < strlen(str1); i++){
        *(str1++);
    }
    for(int i =0; i < strlen(str1); i++){
        *(str2)=*(str1);
        *(str2)++;
        *(str1)--;
    }
}
int main()
{
 char *str1 = "ppC ";
 char str2[20] = "Witaj";
 cout << str2 << endl;    // Witaj
 app(str2, str1);
 cout << str2 << endl;    // Witaj Cpp shows WitCpp
 app(str2, "CJP ");
 cout << str2 << endl;    // Witaj Cpp PJC shows WitPJ
    return 0;
}
 
     
     
    