intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Thái Duy Ái Ngọc | Ngày: | Loại File: PDF | Số trang:16

74
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ả

Chủ đề:
Lưu

Nội dung Text: kỹ thuật lập trình C chuyên nghiệp phần 6

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2