Reverse String C ++ en utilisant un tableau char

J'ai écris un programme en C++ pour inverser une chaîne de caractères. - Je stocker une chaîne de caractères en tableau de caractères. Pour inverser une chaîne de caractères, je suis en utilisant le même tableau de caractères et de la variable temp pour permuter entre les personnages d'un tableau.

#include<iostream>
#include<string>
using namespace std;

void reverseChar(char* str);

char str[50],rstr[50];
int i,n;

int main()
{
    cout<<"Please Enter the String: ";
    cin.getline(str,50);
    reverseChar(str);
    cout<<str;
    return 0;
}

void reverseChar(char* str)
{
    for(i=0;i<sizeof(str)/2;i++)
    {
        char temp=str[i];
        str[i]=str[sizeof(str)-i-1];
        str[sizeof(str)-i-1]=temp;
    }
}

Maintenant cette méthode ne fonctionne pas et que je vais me la Chaîne NULL comme résultat après l'exécution du programme.

Donc, je veux savoir pourquoi je ne peux pas assimiler tableau de caractères, pourquoi ne serait-ce pas le programme de travail. Et qu'est-ce que la solution ou astuce que je peux utiliser pour faire le même programme de travail?

source d'informationauteur StackPointer