1. Hàm strcpy()
Hàm strcpy()
Hàm strcpy() copy nội dung từ xâu nguồn sang xâu đích và trả về con trỏ tới xâu đích sau khi copy xong.
Hàm này thuộc thư viện string.h
Cú pháp :
char* strcpy(char *dest, char *src);
Tham số :
- char *dest : Chuỗi đích
- char *src : Chuỗi nguồn
Giá trị trả về : Con trỏ tới chuỗi đích sau khi copy xong nội dung
Lưu ý rằng hàm strcpy sẽ xóa nội dung của xâu ký tự đích trước khi copy.
Ví dụ :
#include "stdio.h" #include "string.h" int main(){ char s[1000] = "blog.28tech.com.vn"; char t[1000] = "28tech C programming !"; char *res = strcpy(s, t); printf("%s\n", s); printf("%s\n", res); return 0; }
Output :
28tech C programming ! 28tech C programming !
Xây dựng hàm strcpy()
Để xây dựng hàm này ta tiến hành gán từng ký tự của xâu nguồn cho xâu đích, sau khi gán xong bạn cần cho kí tự cuối cùng của xây đích là null
Hàm trả về con trỏ tới xâu đích
Code :
#include "stdio.h" #include "string.h" char* my_strcpy(char *dest, char *src){ for(int i = 0; i < strlen(src); i++){ dest[i] = src[i]; } dest[strlen(src)] = '\0'; return dest; } int main(){ char s[1000] = "blog.28tech.com.vn"; char t[1000] = "28tech C programming !"; char *res = my_strcpy(s, t); printf("%s\n", s); printf("%s\n", res); return 0; }
Output :
28tech C programming ! 28tech C programming !
2. Hàm strncpy()
Hàm strncpy() chỉ copy n kí tự từ xâu nguồn sang xâu đích
Hàm này cũng thuộc thư viện string.h
Cú pháp :
char * strncpy (char *dest, char *src, size_t n );
Tham số :
- char *dest : xâu ký tự đích
- char *src : xâu ký tự nguồn
- n : số lượng kí tự muốn copy
Giá trị trả về : Con trỏ tới xâu ký tự đích sau khi copy
Lưu ý rằng xâu ký tự đích sẽ giữ nguyên các kí tự sau n kí tự được copy
Ví dụ :
#include "stdio.h" #include "string.h" int main(){ char s[1000] = "123456789"; char t[1000] = "28tech C programming !"; char *res = strncpy(s, t, 6); printf("%s\n", s); printf("%s\n", res); return 0; }
Output :
28tech789 28tech789
Video hàm trong string.h :