Programming Tutorials

strcpy() and strncpy() sample program in C++

By: Sam Chen in C++ Tutorials on 2007-09-17  

The second most popular function in string.h probably was strcpy(), which copied one string to another. This may now be diminished somewhat as C-style null-terminated strings have become less important in C++; typically, string manipulation is done from within a vendor-supplied or user-written string class. Nonetheless, your string class must support an assignment operator and a copy constructor, and often these are implemented using strcpy(), as illustrated in Listing below.

Using strcpy.

1:     #include <iostream.h>
2:     #include <string.h>
3:
4:     int main()
5:     {
6:        char stringOne80];
7:        char stringTwo80];
8:
9:        stringOne0]='\0';
10:       stringTwo0]='\0';
11:
12:       cout << "String One: " << stringOne << endl;
13:       cout << "String Two: " << stringTwo << endl;
14:
15:       cout << "Enter a string: ";
16:       cin.getline(stringOne,80);
17:
18:       cout << "\nString One: " << stringOne << endl;
19:       cout << "String Two: " << stringTwo << endl;
20:
21:       cout << "copying..." << endl;
22:       strcpy(stringTwo,stringOne);
23:
24:       cout << "\nString One: " << stringOne << endl;
25:       cout << "String Two: " << stringTwo << endl;
26:       cout << "\nDone " << endl;
27:     return 0;
28: }

Output: String One:
String Two:
Enter a string: Test of strcpy()

String One:  Test of strcpy()
String Two:
copying...

String One:  Test of strcpy()
String Two:  Test of strcpy()

Done

Analysis: Two C-style null-terminated strings are declared on lines 6 and 7. They are initialized to empty on lines 9 and 10, and their values are printed on lines 12 and 13. The user is prompted to enter a string, and the result is put in stringOne; the two strings are printed again, and only stringOne has the input. Strcpy() is then called, and stringOne is copied into stringTwo.

Note that the syntax of strcpy() can be read as "copy into the first parameter the string in the second parameter."






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in C++ )

Latest Articles (in C++)