
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ cstring strcpy() Function
The C++ cstring strcpy() function is used to copy a string from one memory location to another memory location.
It works by copying the string until it reaches the null character '\0'. It is important to keep in mind that the destination string must have enough space to store the source string. If the destination string is smaller than the source string, it will cause a buffer overflow. This function takes two arguments, the destination string and the source string.
Syntax
The syntax of the C++ cstring strcpy() function is −
char *strcpy(char *destination, const char *source);
Parameters
Following are the parameters of the strcpy() function −
destination: Pointer to the destination array where the content is to be copied.
source: Pointer to the source of data to be copied.
Return Value
The strcpy() function returns a pointer to the destination, which is the same as the destination pointer passed as the first argument.
Example 1
In this example, we will try to copy the content of one string to another string using the strcpy() function.
#include <iostream> #include <cstring> using namespace std; int main() { char source[] = "Hello, World!"; char destination[100]; // Copying the content of source string to destination string strcpy(destination, source); cout << "Source: " << source << endl; cout << "Destination: " << destination << endl; return 0; }
Output
When you run the program, the output will be −
Source: Hello, World! Destination: Hello, World!
Example 2
In this example, we will us take less space in the destination string than the source string. We will then copy the content of the source string to the destination string using the strcpy() function.
#include <iostream> #include <cstring> using namespace std; int main() { char source[] = "Hello, World!"; char destination[4]; // Copying the content of source string to destination string strcpy(destination, source); cout << "Source: " << source << endl; cout << "Destination: " << destination << endl; return 0; }
Output
When you run the program, the output will be:
Source: , World! Destination: Hello, World!
As you can see the output, it is not what we had expected. Output may vary depending on the compiler and the system you are using. It is always recommended to use the strncpy() function instead of strcpy() function to avoid buffer overflow.