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

java - Lấy độ dài của jstring/char *?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 08:26:13 27 4
mua khóa gpt4 Nike

Đây là mã JNI C của tôi:

JNIEXPORT jint JNICALL Java_org_avuna_httpd_util_CLibJNI_bind(JNIEnv * this, jclass cls, jint sockfd, jint family, jstring path, jint len) {
struct sockaddr_un sun;
sun.sun_family = gia đình;
const char *npath = (*this)->GetStringUTFChars(this, path, 0);
sun.sun_path = npath;
return bind(sockfd, sun, sizeof(&npath));
}

Tôi chỉ đoán không thành công (sizeof(&npath)) Làm thế nào để có được độ dài. Tôi không thành thạo C lắm, nhưng tôi nghĩ có một cách để lấy độ dài từ một chuỗi.

Google không mang lại kết quả nào, tôi có thiếu điều gì cơ bản không?

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

Vì loại biến là const char* Điều này chỉ ra rằng đó là một không có gì chuỗi ở cuối, vì vậy

size_t chiều dài = strlen(npath);

Thế là đủ rồi.

Mặc dù bạn là ràng buộc() Cuộc gọi sai, nhưng bạn nên chuyển địa chỉ có kích thước của cấu trúc, vì điều này

return bind(sockfd, sun, sizeof(sun));

nên đúng.

Giới thiệu về java - Lấy độ dài của jstring/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/30361046/

27 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