Tôi đã gặp rắc rối trong vài giờ qua về một vấn đề mà tôi đã hiểu. Đây là sự cố của tôi:sự khác biệt giữa char * và char [] với strcpy()
void cut_str(char* entry, int offset) {
strcpy(entry, entry + offset);
}
char works[128] = "example1\0";
char* doesnt = "example2\0";
printf("output:\n");
cut_str(works, 2);
printf("%s\n", works);
cut_str(doesnt, 2);
printf("%s\n", doesnt);
// output:
// ample1
// Segmentation: fault
Tôi cảm thấy có điều gì đó quan trọng về char */char [] mà tôi không nhận được ở đây.
Câu hỏi này được hỏi thường xuyên ở đây. Vui lòng xem, ví dụ: http://stackoverflow.com/questions/10186765/char-array-vs-char-pointer-in-c và http://stackoverflow.com/questions/4090434/strtok-char-array-versus -char-pointer –
có thể trùng lặp của [Sự khác biệt giữa char s \ [\] và char * s trong C?] (http://stackoverflow.com/questions/1704407/what-is-the-difference-between -char-s-và-char-s-in-c) –