1. Trang chủ
  2. » Công Nghệ Thông Tin

kỹ thuật lập trình C chuyên nghiệp phần 6

16 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Tham khảo tài liệu ''kỹ thuật lập trình c chuyên nghiệp phần 6'', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Lỗi tạo t ột chuỗi h ỗi „ „ Chú ý: khơng có phép gán kiểu liệu chuỗi h saii char ten[10]; ten = “hoahong “hoahong”; ”; Chú ý „ Khô : Khơng sử dụng tốn tử gán = để chép nội dung chuỗi sang chuỗi khác khác char a[4]=“hi”; char b[4]; b = a; //??? „ Không Không: h : dùng toán tử == để so sánh nội dung hai chuỗi char a[] = “hi”; hi ; char b[] = “there”; if(a==b) ( ) //??? {} C trỏ Con t ỏ chuỗi h ỗi ký tự t „ „ char h *p * ; // khai *p; kh i báo bá chuỗi h ỗi ký tự t h ột trỏ tỏ p = new char[ char[30 30]]; //xin //xin cấp phát số lượng ký tự tự,, // giống iố mảng ả ký tự Mảng Mả chuỗi: h ỗi char h *[] „ char h *words * *words[ d [ ] = {“ {“hhong”, {“hong h ” “cuc ”, cuc”, ” “lan ”, l ”, lan”, ” “nhai”,”mo nhai”,”mo”} h i” ” ”}; ”}; Words Words[0] h o n g \0 c u c Hay char **words; Words[1] \0 l a Words[2] n \0 n Words[3] h a Words[4] i \0 m o \0 Ch ỗi ký ttự – Một Chuỗi Mộ số ố hà hàm thư h viện iệ „ Lấy độ dài chuỗi l = strlen strlen(s) (s); ( ); ); „ Đổi toàn ký tự chuỗi thành IN HOA strupr(s) strupr (s); ; „ Đổi toàn ký tự chuỗi thành in thường strlwr(s) strlwr t l (s); ( ); Ch ỗi ký ttự – Một Chuỗi Mộ số ố hà hàm thư h viện iệ „ So sánh chuỗi chuỗi:: so sánh theo thứ tự từ điển Phân biệt IN HOA – in thường thường:: int strcmp strcmp(const (const char *s *s1 s1, const char *s *s2 s2); Không phân biệt IN HOA – in thường thường:: int stricmp stricmp(const (const char *s *s1 1, const char *s *s2 2); Ch ỗi ký ttự – víí dụ Chuỗi d strcmp # #include #include Minor < Tony int main() { char s1[] = "Minor"; char s2[] = "Tony"; int cmp = strcmp(s1, s2); if (cmp < 0) printf("%s i f("% < % %s", " s1, s2); 2) else if (cmp == 0) printf("%s = %s", s1, s2); else printf("%s p ( > %s", , s1, , s2); ) return 0; } Ch ỗi ký ttự – Một Chuỗi Mộ số ố hà hàm thư h viện iệ „ Gán nội dung chuỗi: chuỗi: o Chép p toàn ộ chuỗi source sang g chuỗi dest dest:: int strcpy strcpy(char (char *dest, const char *src) *src); ; o „ Chép tối đa n ký tự từ source sang dest dest:: py( py (char *dest, ( , int strncpy(char strncpy const char *src, int n) n); ; Tạo chuỗi từ chuỗi có: có: char *strdup strdup(const (const char *src) *src); src); src) ; Ch ỗi ký ttự – víí dụ Chuỗi d strcpy # #include #include int main() { char s[] = "Tony Blurt"; char s2[100] s2[100], *s3; strcpy(s2, s); printf("%s\n", i f("% \ " s2); 2) strncpy(s2 + 2, "12345", 3); printf("%s\n", s2); s3 = strdup(s + 5); printf("%s\n", s3); ( ) free(s3); return 0; } Tony y Blurt To123Blurt Blurt Ch ỗi ký ttự – Một Chuỗi Mộ số ố hà hàm thư h viện iệ „ Nối chuỗi: chuỗi: char *strcat strcat(char (char *dest, const char *src) *src); ; „ Tách chuỗi: chuỗi: char *strtok strtok(char (char *s, ( , const char *sep) *sep); ; Trả địa đoạn tiên Muốn tách đoạn tham số thứ NULL Ch ỗi ký ttự – víí dụ Chuỗi d strtok k # #include #include #define SEPARATOR "., " int main() { char s[]= "Thu strtok: 9,123.45"; char *p; p = strtok(s, SEPARATOR); while (p != NULL) { printf("%s\n", p); p = strtok(NULL, SEPARATOR); } return 0; } Thu strtok: 123 45 Ch ỗi ký ttự – Một Chuỗi Mộ số ố hà hàm thư h viện iệ „ Tìm ký tự chuỗi: chuỗi: char *strchr strchr(const (const char *s, int c) c); ; „ Tìm đoạn ký tự chuỗi: chuỗi: char *strstr strstr(const (const char *s ( *s1 1, const char *s *s2 2); Ch ỗi ký ttự – víí dụ Chuỗi d tìm ì kiếm kiế #include #include int main() { char s[]= [] "Thu tim kiem chuoi"; ; char *p; p = strchr(s, strchr(s 'm'); m ); printf("%s\n", p); p = strstr(s, "em"); printf("%s\n" p); printf("%s\n", return 0; } m kiem chuoi em chuoi Ch ỗi ký ttự – chèn Chuỗi hè ộ đđoạn ký tự # #include #include void StrIns(char *s s, char *sub) sub) { int len = strlen(sub); memmove(s + len, len s, s strlen(s)+1); strncpy(s, sub, len); 123 Thu chen } 123 Thu 45chen i int main() i () { char s[]= “ Thu chen"; StrIns(s, "123"); ( + 8, , "45"); ) StrIns(s return 0; } printf("%s\n", s); printf("%s\n", p ( , p) p); Ch ỗi ký ttự – xóa Chuỗi ó ộ đoạn đ ký tự # #include #include void StrDel(char *s s, int n) { memmove(s, s + n, strlen(s+n)+1); xoa 12345 } int main() xoa 45 { char h s[]= [] " "Thu h xoa 12345"; 12345" StrDel(s, 4); StrDel(s + 4, 3); return 0; } printf("%s\n", s); printf("%s\n", s); Biế Biến đổi chuỗi h ỗi sang số ố „ atoi(), atof atoi(), atof(), (), atol(): atol(): đổi chuỗi ký tự sang số số iintt atoi atoi(const t i( i(const ( t char h *s); *) double atof(const atof(const char *s); long atol atol(const (const char *s); s); „ float f; char **str str = "12345.67"; f = atof( atof(str); str); printf("string printf( printf (("string string = %s float = %f\ %f\nn", str str,, f); ... strncpy const char *src, int n) n); ; Tạo chuỗi từ chuỗi c? ?: c? ?: char *strdup strdup(const (const char *src) *src); src); src) ; Ch ỗi ký ttự – víí dụ Chuỗi d strcpy # #include #include ... Blurt Ch ỗi ký ttự – Một Chuỗi Mộ số ố hà hàm thư h viện iệ „ Nối chuỗi: chuỗi: char *strcat strcat(char (char *dest, const char *src) *src); ; „ Tách chuỗi: chuỗi: char *strtok strtok(char (char... Tìm ký tự chuỗi: chuỗi: char *strchr strchr(const (const char *s, int c) c) ; ; „ Tìm đoạn ký tự chuỗi: chuỗi: char *strstr strstr(const (const char *s ( *s1 1, const char *s *s2 2); Ch ỗi ký ttự

Ngày đăng: 08/05/2021, 19:03