sách gpt4 ăn đã đi

编码,将一个整数写入文件中

In lại Tác giả: Walker 123 更新时间:2023-11-30 16:17:45 28 4
mua khóa gpt4 giày nike

我正在用C语言做一个编码任务,我进展顺利,直到读取符号并根据表格分配相应的代码的部分。我必须连接几个代码,直到它们的长度达到 32 位,为此我必须将它们写入一个文件中。这种写入文件的方法给我带来了很多问题,我尝试使用 fputc() 函数来实现。

我无法更改函数的声明,因为他们要求它作为作业。我创建了一个掩码以便能够按字节写入整数,因为他们也建议类(class)的老师这样做。使用该代码的程序可以工作,但是当我使用二进制查看器查看该文件时,它只打印零。知道我做错了什么吗?谢谢!

void write_int(FILE* fp, unsigned int buffer, int nbytes){
if ( (nbytes <= sizeof(int)) && (nbytes>=0) ){
unsigned int aux;
số nguyên i;
for (i=4; i>(4-nbytes) ; i--){
aux = buffer & new_mask( ((i*8)-1),((i-1)*8));
fputc(aux,fp)
}
fputc('\n',fp);
}khác{
printf("nbytes out of range");
}
}

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

fputc 用于将一个 ASCII 字符写入文件。

int fputc(int, FILE*)//这个 int 在进入文件之前被转换为无符号(你的位可能在这里被搞乱了)

1-解决方案:以二进制方式打开此文件并使用fwrite写入

fp = fopen("filename", "wb+");
fwrite(buffer, 4, 1, fp);

*由于大多数计算机上的整数有 32 位(4 字节),因此应该一次将整个 32 位写入二进制文件

2-解决方案:假设您无法在该函数内以二进制模式打开文件...您可以简单地使用gin fprintf写入4个字符。

int fprintf(FILE*, 格式, ....);

*注意:很难提供比这更多的帮助,因为尚不清楚这些符号的本质是什么。例如:二进制流、整数、ascii、utf 等

关于编码,将一个整数写入文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56192596/

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