Hàm copy chuỗi trong C++

NỘI DUNG BÀI VIẾT

Tóm tắt

Hàm strcpy():

  • Thuộc thư viện string.h

  • Cấu trúc: 

char* strcpy(char* destination, const char* source);

  • Sao chép nội dung từ *source vào *destination

  • Kích thước của chuỗi đích phải đủ lớn để lưu trữ chuỗi kết quả.

Video giải thích chi tiết về Lập trình copy hai chuỗi trong C, hàm strcpy trong lập trình C | Tự học lập trình C



Code ví dụ


#include "stdio.h"
#include "string.h"
void my_strcpy(char x1[], char x2[]){
	size_t len2 = strlen(x2);
	for(int i=0; i

    

Cũng giống như sao chép mảng trong C++, bạn sử dụng vòng lặp để duyệt qua từng ký tự trong chuỗi, sau đó sao chép vào trong chuỗi đích (chuỗi s2 chẳng hạn). Bạn cần lưu ý là chuỗi đích phải có độ dài bằng chuỗi ban đầu (chuỗi s1).

Lời giải (không sử dụng hàm)

Dưới đây là chương trình C++ để giải bài tập sao chép chuỗi trong C++:

#include 
using namespace std;
int main() {
   char s1[] = "hiepsiit.com";    // khai bao mot chuoi
   char s2[10];                  // bien de luu chuoi sao chep
 
   int length = 0;
 
   // sao chep chuoi s1
   while(s1[length] != '\0') {
      s2[length] = s1[length];
      length++;
   }
 
   s2[length] = '\0';        // gia tri null, ket thuc chuoi
 
   cout<<"Chuoi s1 =  \n"<< s1;
   cout<<"Chuoi s2 = %s \n"<< s2;
 
   return 0;
}

Chạy chương trình C trên cho kết quả như sau:

Hàm copy chuỗi trong C++


Lời giải (sử dụng hàm)

Bạn có thể sao chép nội dung từ chuỗi này sang chuỗi khác bởi sử dụng hàm strcpy(str2, str1) trong C. Hàm strcpy(str2, str1) nhận hai chuỗi làm tham số, trong đó: chuỗi str1 là chuỗi ban đầu, chuỗi str2 là chuỗi có nội dung sao chép từ chuỗi str1.

Trong bài viết này chúng ta sẽ tìm hiểu về hàm strcpy() trong C / C++. Đây là một hàm được sử dụng để sao chép một chuỗi ký tự từ chuỗi này sang chuỗi khác.

Hàm copy chuỗi trong C++

Hàm copy chuỗi trong C++

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Hàm strcpy() là hàm có sẵn trong thư viện cstring, vì vậy trước khi sử dụng nó các bạn cần khai báo thư viện đã nhé: #include

Cú pháp hàm strcpy() trong C / C++

Hàm strcpy() trong C++ sao chép một chuỗi ký tự từ nguồn đến đích. Nghĩa là nó sẽ sao chép một chuỗi các ký tự từ biến này sang biến khác.

Cú pháp:

Bài viết này được đăng tại [free tuts .net]

char* strcpy( char* dest, const char* src );

Trong đó:

  • dest: Con trỏ đến một mảng ký tự nơi nội dung được sao chép vào.
  • src: Con trỏ đến một mảng ký tự nơi nội dung được sao chép từ đó.

Cách dùng hàm strcpy() trong C / C++

Trong phần này mình sẽ thực hiện một ví dụ để mình họa cho hàm strcpy() trong C++.

Cụ thể mình sẽ khởi tạo một biến str với nội dung nhất định. Sau đó sử dụng hàm strcpy() để sao chép nội dụng từ biến str sang biến dest mà mình đã tạo trước đó.

#include 
#include 
using namespace std;
int main() {
  //khai báo và khởi tạo một biến src với nội dùng là "Hello Freetuts.net." Đây là biến sẽ được copy
  char src[] = "Hello Freetuts.net.";
  //khai báo biến dest, đây là biến sẽ nhận nội dung được copy
  char dest[20];
  //sử dụng hàm strcpy để sao chép nội dung từ biến str sang biến dest
  strcpy(dest,src);
  //hiển thị dest ra màn hình
  cout << dest;

  cout<<"\n-----------------------------------\n";
  cout<<"Chương trình này được đăng tai Freetuts.net";
}

Kết quả:

Hàm copy chuỗi trong C++

Như vậy là chúng ta đã tìm hiểu xong hàm strcpy() trong C / C++. Đây là một hàm được sử dụng khá nhiều trong các bài tâp về string, vì vậy hãy luyện tập thật nhiều để sử dụng nó thành thạo nhé. Chúc các bạn thành công !!!

Chương này minh họa cách sao chép nội dung từ chuỗi này sang chuỗi khác bởi sử dụng hàm strcpy(str2, str1) trong C. Hàm strcpy(str2, str1) nhận hai chuỗi làm tham số, trong đó: chuỗi str1 là chuỗi ban đầu, chuỗi str2 là chuỗi có nội dung sao chép từ chuỗi str1.

Chương trình C

Dưới đây là chương trình C để giải bài tập sao chép chuỗi trong C:

#include
#include

int main() {
   char str1[100];
   char str2[100];
 
   printf("\nNhap chuoi str1:\n");
   gets(str1);
 
   strcpy(str2, str1);
   printf("\n\nChuoi sao chep la: %s", str2);
 
   return (0);
}

Biên dịch chương trình C trên sẽ cho kết quả:

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Hàm copy chuỗi trong C++

Hàm copy chuỗi trong C++

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.