且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

反转字符字符串指针

更新时间:2023-02-22 14:37:12

阅读另一本书我完全理解指针和如何正确地分配内存后。这是我最后的code这正确扭转字符的字符串数组(我不需要通用code,刚刚工作的例子+无性病的方法扭转):

After reading another book I fully understand pointers and how to correctly allocate memory. Here is my final code which correctly reverse array of char string (I don't need universal code, just working example + without std methods for reversing):

// not edited part - based on exercise (I mean I cannot change pS to char[5] etc.
char s[10] = "abcde";
char *pS;

pS = new char[strlen(s) + 1]; // allocate correct memory size based on string size

cout << "Size is " << sizeof(pS) << endl; // just for testing
int count = strlen(s); // for iteration

pS[count] = '\0'; // last symbol must be '\o' (thanks to Mr.Yellow)

for (int i = 0; i < 10; i++) // 10 because array of char still has 10 elements
{
    if (s[i] != '\0') // looks like "not garbage memory"
    {
        count--;
        pS[count] = s[i]; // set correct value
    }
}

cout << "Reversed = " << pS << endl;

感谢您所有谁帮助我!