Введение
В этом практическом занятии вы научитесь копировать строки на C++. Для демонстрации этого мы будем использовать как объекты строк, так и C-стильные строки.
Создайте новый файл C++
Перейдите в каталог ~/project и создайте новый файл на C++, названный main.cpp.
cd ~/project
touch main.cpp
Копирование объектов строк
Мы можем использовать оператор присваивания для копирования одного объекта строки в другой. Следуйте коду ниже:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
cout << "Enter string s1: ";
getline(cin, s1);
s2 = s1;
cout << "s1 = " << s1 << endl;
cout << "s2 = " << s2;
return 0;
}
Пояснение:
- Мы начинаем с включения необходимых библиотек для этой программы, которые это
iostreamиstring. - Затем мы определяем два объекта строк
s1иs2 - Пользователю предлагается ввести строку s1 с использованием функции
getline(), которая читает всю строку с учетом пробелов. - Присваиваем s1 s2 с использованием оператора присваивания.
- Наконец, мы выводим s1 и s2.
Результат работы программы
Enter string s1: Hello World!
s1 = Hello World!
s2 = Hello World!
Копирование C-стильных строк
Мы будем использовать функцию strcpy() из библиотеки cstring для копирования C-стильных строк. Следуйте коду ниже:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[100], s2[100];
cout << "Enter string s1: ";
cin.getline(s1, 100);
strcpy(s2, s1);
cout << "s1 = " << s1 << endl;
cout << "s2 = "<< s2;
return 0;
}
Пояснение:
- Мы начинаем с включения необходимых библиотек для этой программы, которые это
iostreamиcstring - Затем мы определяем два массива C-стильных строк
s1иs2 - Пользователю предлагается ввести строку s1
- Функция
getline()в этом случае не используется, потому что она используется только для объектов строк, а не для C-стильных строк. Вместо этого мы используемcin.getline, где первый аргумент - это переменная массива, а второй аргумент - это максимальный размер массива для чтения. - Копируем строку s1 в s2 с использованием функции
strcpy()изcstring - Наконец, мы выводим s1 и s2.
Результат работы программы
Enter string s1: Hello World!
s1 = Hello World!
s2 = Hello World!
Запустите файл
Для запуска кода в терминале откройте терминал в папке проекта и выполните следующие команды:
g++ main.cpp -o main
./main
Эта команда скомпилирует файл main.cpp и выведет исполняемый файл с именем main в том же каталоге. Вторая команда запускает файл main и выводит результат в терминале.
Резюме
В этом практическом занятии обсуждалось, как копировать строки в C++ с использованием объектов строк и C-стильных строк. Вы узнали, что для объектов строк можно использовать оператор присваивания, а для C-стильных строк - функцию strcpy() из библиотеки cstring. Следуя этим простым шагам, вы можете легко копировать строки в C++.



