Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;_C++_Copy_Logic - Fatal编程技术网

C++ 如何在C++;

C++ 如何在C++;,c++,copy,logic,C++,Copy,Logic,大家好,我的反向复制方法有点问题。该方法需要反向复制char* char* reverseCopy(char* destination, const char* source, int num) { char placeHolder; for (int j=0; j<=num; j++) { strcpy(destination,source); } for (int i=0; i<num; num--) {

大家好,我的反向复制方法有点问题。该方法需要反向复制char*

char* reverseCopy(char* destination, const char* source, int num)
{
    char placeHolder;
    for (int j=0; j<=num; j++)
    {
        strcpy(destination,source);
    }

    for (int i=0; i<num; num--)
    {
        placeHolder = destination[num];
        destination[i]=placeHolder;
    }
    destination[num]='\0';
    return destination;
}
char*reverseCopy(char*destination,const char*source,int num)
{
字符占位符;

对于(int j=0;j您始终可以将它们转换为字符串,并将source.rbegin()用于复制函数。

您始终可以将它们转换为字符串,并将source.rbegin()用于复制函数。

您始终可以将它们转换为字符串,并将source.rbegin()用于复制函数。

您始终可以将它们转换为字符串,并将source.rbegin()用于复制函数。

具有复制功能。

但有更简单、更快的方法: 例如,为什么需要在循环中将
复制到
目标


如果
destination==source

此外,此循环:

for (int i=0; i<num; num--)
{
    placeHolder = destination[num];
    destination[i]=placeHolder;
}

但有更简单、更快的方法可以做到这一点: 例如,为什么需要在循环中将
复制到
目标


如果
destination==source

此外,此循环:

for (int i=0; i<num; num--)
{
    placeHolder = destination[num];
    destination[i]=placeHolder;
}

但有更简单、更快的方法可以做到这一点: 例如,为什么需要在循环中将
复制到
目标


如果
destination==source

此外,此循环:

for (int i=0; i<num; num--)
{
    placeHolder = destination[num];
    destination[i]=placeHolder;
}

但有更简单、更快的方法可以做到这一点: 例如,为什么需要在循环中将
复制到
目标


如果
destination==source

此外,此循环:

for (int i=0; i<num; num--)
{
    placeHolder = destination[num];
    destination[i]=placeHolder;
}

我可以将该函数编写如下:

char* reverseCopy(char* destination, const char* source, int num) {
    char* d = destination;
    while (num) {
        *d++ = source[--num];
    }
    *d = '\0';
    return destination;
}

我可以将该函数编写如下:

char* reverseCopy(char* destination, const char* source, int num) {
    char* d = destination;
    while (num) {
        *d++ = source[--num];
    }
    *d = '\0';
    return destination;
}

我可以将该函数编写如下:

char* reverseCopy(char* destination, const char* source, int num) {
    char* d = destination;
    while (num) {
        *d++ = source[--num];
    }
    *d = '\0';
    return destination;
}

我可以将该函数编写如下:

char* reverseCopy(char* destination, const char* source, int num) {
    char* d = destination;
    while (num) {
        *d++ = source[--num];
    }
    *d = '\0';
    return destination;
}

使用一种新的方法会是欺骗吗


使用一种新的方法会是欺骗吗


使用一种新的方法会是欺骗吗


使用一种新的方法会是欺骗吗


将字符串逐字符推入STL堆栈,然后将堆栈顶部的字符弹出到新字符串中


它们将被反转。

将字符串逐字符推入STL堆栈,然后将字符从堆栈顶部弹出,放入新字符串


它们将被反转。

将字符串逐字符推入STL堆栈,然后将字符从堆栈顶部弹出,放入新字符串


它们将被反转。

将字符串逐字符推入STL堆栈,然后将字符从堆栈顶部弹出,放入新字符串




它们将被反转。

您期望的是什么输出,您得到的是什么输出?老实说,仅仅反转一个字符串就太复杂了。为什么在循环中使用strcpy呢???只需获取指向最后一个字符的指针并向后迭代,复制到输出字符串。注意终止字符。是的,我认为t他不知道循环可以倒转。我假设这是因为调用strcpy是完全不必要的(即使它被错误地使用)。您希望得到什么输出?确切地说,您得到的是什么输出?老实说,这是一个过于复杂的代码,只是为了反转字符串。为什么
strcpy
在一个循环中???只需获取指向最后一个字符的指针并向后迭代,复制到输出字符串。请注意终止字符。是的,我认为OP没有意识到loops可以倒转。我假设这是因为调用strcpy是完全不必要的(即使它被错误地使用)。您希望得到什么输出?确切地说,您得到的是什么输出?老实说,这是一个过于复杂的代码,只是为了反转字符串。为什么
strcpy
在一个循环中???只需获取指向最后一个字符的指针并向后迭代,复制到输出字符串。请注意终止字符。是的,我认为OP没有意识到loops可以倒转。我假设这是因为调用strcpy是完全不必要的(即使它被错误地使用)。您希望得到什么输出?确切地说,您得到的是什么输出?老实说,这是一个过于复杂的代码,只是为了反转字符串。为什么
strcpy
在一个循环中???只需获取指向最后一个字符的指针并向后迭代,复制到输出字符串。请注意终止字符。是的,我认为OP没有意识到loops可以倒转。我假设这是因为调用strcpy是完全不必要的(即使它被错误地使用)。您可能想详细说明,从技术上讲,它们是字符串,但不是
std::string
您可能想详细说明,从技术上讲,它们是字符串,但不是
std::string
您可能想详细说明,从技术上讲,它们是字符串,但不是
std::string
如果
destination==source
??@AlexLop.这不是优化问题。他只想知道如何反转字符串。那么行为将是未定义的,就像在重叠区域上操作memcpy之类的库函数一样。这是OP问题范围之外的问题。如果需要,那么source应该首先复制到一个临时缓冲区,然后从那里执行向后复制。@任务检查
destination==source
不是关于优化。而是关于输入检查。@AlexLop。有点糟糕如果
destination==source
?@AlexLop。这不是关于优化。他只想知道如何反转一个ring。然后,该行为将是未定义的,就像在重叠区域上操作memcpy之类的库函数一样。这是OP问题范围之外的问题。如果需要,则应首先将源复制到临时缓冲区,然后从那里执行反向复制。@Quest检查
destination==source
与优化无关。它与输入检查有关。@AlexLop。如果
destination==source
,这有点像是两回事?@AlexLop。这与优化无关。他只是