cuốn sách gpt4 ai đã làm

c - 使用指向 char 数组的指针获取要使用 strstr() 复制的字符串的长度

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-04 01:55:51 26 4
mua khóa gpt4 Nike

Tôi muốn sao chép một phần của cụm từ vào một mảng char và sau đó sao chép phần thứ hai của cùng một cụm từ sang mảng khác. Tôi đang cố gắng sử dụng strstr, sau đó sử dụng strcpy, nhưng tôi không chắc liệu mình có sử dụng con trỏ đúng cách hay không. Đây là mã của tôi.

void searchPer(char frase[], char frase_c[]) {
char * p_per;
char phần1[MAX],part2[MAX];

p_per = strstr(frase,"per");

nếu (p_per == NULL) {
return;
}

strncpy(part1,frase, *p_per);
strncpy(part2,&frase[*p_per], frase-p_per);

printf("%s", part1);
printf("%s", part2);
}

Tôi nghĩ vấn đề là tôi không thể sử dụng strstr Con trỏ được cung cấp để truy cập vào chỉ mục chính xác của cụm từ. Bây giờ chương trình không in gì ra terminal.

câu trả lời hay nhất

biếnp_per là một con trỏ tới một ký tự. Việc hủy tham chiếu một con trỏ cung cấp cho bạn giá trị được lưu trong bộ nhớ được trỏ đến bởi con trỏ, trong trường hợp của bạn là một ký tự đơn. strncpy Chức năng tham số thứ ba sẽ được sao chépSố ký tự, nó không phải là một ký tự đơn lẻ.

Ví dụ, giả sử *p_per Đúng mã hóa ASCII nhân vật trong 'MỘT'65, có nghĩa là bạn sẽ sao chép 65 ký tự.

Bạn cần sử dụngsố học con trỏ để tính số byte cần sao chép, nhưng hãy sử dụngp_per - frase.

Bạn cũng nên đảm bảo rằng số lượng ký tự bạn sao chép không vượt quá TỐI ĐA-1(-1 để phù hợp với dấu kết thúc).

Về c - lấy độ dài của chuỗi để sao chép bằng strstr() bằng cách sử dụng con trỏ tới mảng char, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/34412236/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress