Bạn có thể sử dụng strncpy
để sao chép phần của chuỗi bạn muốn in, nhưng bạn phải cẩn thận để thêm một terminator rỗng, vì strncpy
sẽ không làm điều đó nếu nó không gặp phải một chuỗi nguồn. Một giải pháp tốt hơn, như Jerry Coffin đã chỉ ra, đang sử dụng hàm *printf
thích hợp để viết ra hoặc sao chép chuỗi con bạn muốn.
Trong khi strncpy
có thể nguy hiểm trong tay của một người nào đó không quen với nó, nó có thể được nhanh hơn về thời gian thực hiện so với một giải pháp phong cách printf
/sprintf
/fprintf
, vì không không ai trong số các nguyên cần thiết để đối phó với các định dạng chuỗi. Đề nghị của tôi là để tránh strncpy
nếu bạn có thể, nhưng nó là tốt để biết về chỉ trong trường hợp.
size_t len = 5;
char sub[6];
sub[5] = 0;
strncpy(sub, str + 5, len); // char[] to copy to, char[] to copy from(plus offset
// to first character desired), length you want to copy
Nguồn
2011-01-30 04:59:14
nhân vật hoặc tiêu chí mà bạn muốn dừng lại trên là gì? thật khó để trả lời câu hỏi này mà không cần làm rõ – kelloti