📜  用C++程序复制字符串(1)

📅  最后修改于: 2023-12-03 15:40:52.537000             🧑  作者: Mango

用C++程序复制字符串

在C++中,复制字符串是一项基本任务,可以通过各种方法来完成。本文将介绍如何使用C++程序复制字符串。

1. 使用strcpy函数

strcpy函数是C++中最常用的字符串复制函数。它将一个字符串的内容复制到另一个字符串中,并返回目标字符串的指针。以下是一个使用strcpy函数复制字符串的示例程序:

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    char source[] = "Hello, world!";
    char target[20];

    strcpy(target, source);

    cout << "Copied string: " << target << endl;

    return 0;
}

输出结果为:

Copied string: Hello, world!
2. 使用字符串迭代器

在C++中,字符串是使用字符数组存储的。要复制字符串,我们可以使用字符串迭代器来遍历源字符串,并将每个字符复制到目标字符串中。以下是一个使用字符串迭代器复制字符串的示例程序:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string source = "Hello, world!";
    string target;

    for (auto i = source.begin(); i != source.end(); i++)
    {
        target.push_back(*i);
    }

    cout << "Copied string: " << target << endl;

    return 0;
}

输出结果为:

Copied string: Hello, world!
3. 使用memcpy函数

memcpy函数是C++中另一个常用的字符串复制函数。它可以快速复制由指针指向的指定长度的内存块,并返回目标指针。以下是一个使用memcpy函数复制字符串的示例程序:

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    char source[] = "Hello, world!";
    char target[20];

    memcpy(target, source, strlen(source) + 1);

    cout << "Copied string: " << target << endl;

    return 0;
}

输出结果为:

Copied string: Hello, world!
4. 使用自定义函数

除了以上几种方法外,您也可以编写自己的函数来复制字符串。下面是一个简单的自定义函数示例:

#include <iostream>

using namespace std;

void strcopy(char *dest, const char *src)
{
    while (*src != '\0')
    {
        *dest = *src;
        dest++;
        src++;
    }

    *dest = '\0';
}

int main()
{
    char source[] = "Hello, world!";
    char target[20];

    strcopy(target, source);

    cout << "Copied string: " << target << endl;

    return 0;
}

输出结果为:

Copied string: Hello, world!

以上这些方法都可以用来复制字符串,并且效率和适用场景不同。程序员可以根据实际的需求选择合适的方法。