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

C: fgets luôn là NULL

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

Tôi đang chơi với tệp I/O trong C. Tôi đang cố gắng sử dụng fgets để đọc dữ liệu từ một tệp và xuất nó sang tệp khác. Vấn đề là nó luôn trả về NULL nên không có gì được sao chép vào tệp đầu ra. Đây là mã của tôi:

#include 
#include

int main()
{
TẬP TIN *fpIn;
TẬP TIN *fpOut;

if ((fpIn = fopen("C:\\testIn.txt", "r") == NULL))
{
printf("Không thể mở được file đầu vào!\n");
exit(1);
}

if ((fpOut = fopen("C:\\testOut.txt", "a") == NULL))
{
printf("Không thể mở được file đầu ra!\n");
exit(1);
}

bộ đệm char [128];
while (fgets(buffer, 128, fpIn) != NULL)
{
fputs(bộ đệm, fpOut);
}

fclose(fpIn);
fclose(fpOut);

hệ thống ("TẠM DỪNG");
return 0;
}

Một điều nữa là khi tôi cố gắng sử dụng "a+f" trong tham số thứ hai của fopen, nó không hoạt động.

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

if ((fpOut = fopen("C:\\testOut.txt", "a") == NULL))

nên

if ((fpOut = fopen("C:\\testOut.txt", "a")) == NULL)

Tương tự như tập tin đầu vào Nếu bạn chưa quen với C, tôi khuyên bạn nên làm từng việc một để dễ dàng tìm ra vấn đề hơn. Ví dụ

fpOut = fopen("C:\\testOut.txt", "a");
if(fpOut == NULL) {
...

Về C: fgets luôn là NULL, 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/11533297/

28 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