gpt4 book ai didi

c - 段错误 - 打开二进制文件

转载 作者:行者123 更新时间:2023-11-30 17:44:58 25 4
gpt4 key购买 nike

我是编程新手,我需要在第一阶段在我的程序中显示一个二进制文件。

在老师的帮助下,我能够做到这一点,但是当我在代码中工作到很晚时,我更改了一些现在无法恢复的东西:(

这是代码:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main()
{
FILE *f;
int a = 0, b = 0, c = 0, d = 0;
float cinzentos = 0, mlinha = 0, ppixeis = 0;
unsigned char matriz[28][28][500];

f = fopen("dados1.bin", "rb");

if (f != NULL) {
while (!feof(f)) {
b++;

if (b == 28) {
printf(" soma: %f ", mlinha);
printf(" cizentos: %f ", mlinha / 28);
printf("\n");
b = 0;
a++;
mlinha = 0;
printf("%d %d %d", a, b, c);
}

if (a == 28) {
a = 0;
c++;
ppixeis = (ppixeis / 28 * 28) * 0.1;
printf("media de pixeis: %f\n", ppixeis);
printf("\n---------------\n");
}

matriz[a][b][c] = fgetc(f);

if (matriz[a][b][c] != 0) {
printf("1");
mlinha = mlinha + matriz[a][b][c];
ppixeis++;
fputc(matriz[a][b][c], p);
} else {
printf("0");
}
}
}

fclose(f);

return 0;
}

我认为,这是因为文件打开,但我正在循环尝试将其重新组合在一起,需要帮助

最佳答案

看起来你的代码偏离了一位

while (!feof(f)) {
b++;

确保 b 在第一个读取字符时不会从 0 开始

关于c - 段错误 - 打开二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19771149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com