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

c++ - nhận (biến)

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 08:08:58 28 4
mua khóa gpt4 Nike

Có ai có thể cho tôi biết tại sao get(abc) sử dụng char[] thay vì int không?

 int abc;
tên char[] = "lolrofl";
printf("Xin chào %s.\n",name);
printf("\n >> ");
fflush(stdin);
được(abc);
printf("\n die zahl ist %i.\n",abc);
hệ thống ("Tạm dừng");
return(0);

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

được() Nguyên mẫu là:

char* được(char *s);

Lưu ý rằng hàm này không chỉ đọc một ký tự và đặt nó vào s; nó thực sự đọc toàn bộ chuỗi vào s. Tuy nhiên, vì get() không cung cấp cách chỉ định số lượng ký tự tối đa cần đọc nên điều này thực sự có thể đọc nhiều ký tự hơn vào s so với số byte được phân bổ cho s. Vì vậy, tính năng này là một vấn đề nghiêm trọnglỗ hổng tràn bộ đệm , bạn không bao giờ nên sử dụng tính năng này. Có các chức năng khác an toàn hơn cho phép bạn đọc dữ liệu đầu vào của người dùng, chẳng hạn như fget()getc() .

Nếu bạn đang sử dụng C++, hãy sử dụng Thư viện luồng I/O C++ (std::cin, std::cout, std::ostream, std::istream, std::fstream, v.v.) là cách tốt hơn để thực hiện đầu vào/đầu ra hơn là sử dụng các chức năng khác này.

Trên thực tế, hàm gets() rất nguy hiểm đối với tôi. phát triển và mã hóa công cụ tìm kiếm tùy chỉnh trong, tôi là được Có khuyến mãi trên đó cũng như một số cảnh báo khác không nên sử dụng những tính năng như vậy của nó!

Về c++ - get(variable), 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/2693774/

28 4 0
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