Xây Dựng Hàm Cắt Chuỗi Trong C - Programming - Dạy Nhau Học Trang chủ » Hàm Cắt Chuỗi C » Xây Dựng Hàm Cắt Chuỗi Trong C - Programming - Dạy Nhau Học Có thể bạn quan tâm Hàm Cắt Chuỗi Có điều Kiện Trong Excel Hàm Cắt Chuỗi đến Ký Tự Trong Excel Hàm Cắt Chuỗi Ký Tự Bên Phải Hàm Cắt Chuỗi Ký Tự Bên Trái Hàm Cắt Chuỗi Ký Tự ở Giữa Xây dựng hàm cắt chuỗi trong c programming c++ vohungbkaa (vo van hung) July 30, 2017, 2:51am #1 Nhờ mọi người xem giúp hàm cắt chuỗi của mình sai ở đâu mà nó lại in ra kí tự lạ vậy nhỉ. Rõ ràng mình đã xét kí tự kết thúc chuỗi rồi. Mình cảm ơn.! #include<iostream> using namespace std; int lenstr(char *s) { int n = 0; while (s[n] != '\0') { n++; } return n; } void cpystr(char *p, char *s) { int len = lenstr(s); for (int i = 0; i < len; i++) { p[i] = s[i]; } p[len] = '\0'; } char *substr(char *s, int start, int end) { char p[100]; //int len = lenstr(s); int indext = 0; for (int i = start; i <= end; i++) { p[indext] = s[i]; indext++; } p[indext] = '\0'; return p; } int main() { char s[] = "ABCDEF"; char p[100]; cpystr(p, substr(s, 1, 3)); cout << p; system("pause"); return 0; } thanhtrung2314 (Trung Nguyen) July 30, 2017, 2:35am #2 Mình thấy hàm của bạn đúng logic mà. Mình đã edit lại là C++ rồi tại vì code của bạn có cout mà sao lại C nhỉ 1 Like vohungbkaa (vo van hung) July 30, 2017, 2:36am #3 mình cout ra cho nhanh thôi bạn. Nếu mà c thì cứ printf rồi %s… mất thời gian. Mình test thì mình hay cout với cin cho nhanh thôi. thanhtrung2314 (Trung Nguyen) July 30, 2017, 2:37am #4 Mà thôi không quan trọng vì bài này C cũng như C++, nhưng hàm của bạn chạy ổn mình vừa mới test vohungbkaa (vo van hung) July 30, 2017, 2:38am #5 Bên mình thì thế. image.png1366×768 52.9 KB thanhtrung2314 (Trung Nguyen) July 30, 2017, 2:39am #6 Bên mình thì ngon trim 1 Like vohungbkaa (vo van hung) July 30, 2017, 2:42am #7 Cay. Giờ làm sao giờ b nhỉ. :(. Có cần phải thêm hàm xóa bộ đệm không nhỉ?. thanhtrung2314 (Trung Nguyen) July 30, 2017, 2:43am #8 Mình copy hết code của bạn. Bạn xem lại xem bạn có copy thiếu dòng nào không? Format code lại cho dễ nhìn ``` code của bạn ``` 1 Like vohungbkaa (vo van hung) July 30, 2017, 2:52am #9 ukm. cam on ban!. Minh format lai code roi duckhan (Duc Khan) July 30, 2017, 2:59am #10 vohungbkaa: char *substr(char *s, int start, int end) { char p[100]; //int len = lenstr(s); int indext = 0; for (int i = start; i <= end; i++) { p[indext] = s[i]; indext++; } p[indext] = ‘\0’; return p; } Bạn kiểm tra lại hàm này nhé. p là biến cục bộ. Sau khi ra khỏi hàm bộ nhớ sẽ bị thu hồi, nên nó mới hiện ra những kí tự rác. Bạn có thể dùng cấp phát động, hoặc truyền p ở ngoài vào. 1 Like anhhuu (Phạm Minh Anh Hữu) July 30, 2017, 3:09am #11 char *substr(char *s, int start, int end) { static char p[100]; int indext = 0; for (int i = start; i <= end; i++) { p[indext] = s[i]; indext++; } p[indext] = '\0'; return p; } Bạn đổi con trỏ p thành static để khi nó return thì vùng nhớ của con trỏ p vẫn chưa bị huỷ. Chúc thành công. 2 Likes vohungbkaa (vo van hung) July 30, 2017, 1:52pm #12 Cam on m.n. Minh lam duoc roi DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Hàm Cắt Chuỗi C Cắt Chuỗi Trong C Tách Chuỗi Trong C (strtok) Bài 18: Các Hàm Xử Lý Chuỗi Trong Lập Trình C - Khuê Nguyễn Lập Trình C: Hàm Xử Lý Chuỗi (String) | V1Study Cắt Chuỗi Trong C - Cokiemtruyenky Hàm Cắt Chuỗi Trong C Lập Trình C - Các Hàm Xử Lý Chuỗi Cắt Chuỗi Trong C++ - Thu Trang Hàm Cắt Chuỗi Trong C++ Hàm Xử Lý Chuỗi Trong C Tổng Hợp Các Hàm Xử Lý Chuỗi Trong Lập Trình C# » Chia Sẻ để Vui Vẻ