gpt4 book ai didi

c - 以二进制格式写入文件时输出错误

转载 作者:行者123 更新时间:2023-11-30 14:26:05 24 4
gpt4 key购买 nike

我正在尝试将一些用户输入以二进制格式写入文件。当我查看文件时,我希望只看到 0 和 1,但文件的输出以普通文本打印:

    FILE *f;
char array[8];
f = fopen("numbers.bin", "ab+");
if(f==NULL){
printf("Could not open file!\n");
system("pause");
exit(1);
}

for(i=0;i<numberOfInputs;i++){
printf("\nEnter number nr %i:", i+1);
gets(array); //get the input and place it in array
strcat(array, "\n"); // add a newline to the input
fwrite(array,sizeof(char),1,f); //write output to the file
}

有人能发现我在这里做错了什么吗?

最佳答案

由于您将输入读取为字符串(gets),因此这就是稍后写入数据的方式。您需要使用scanf读取数字。

int num;
scanf("%d", &num);
fwrite(&num, sizeof(int), 1, f);

关于c - 以二进制格式写入文件时输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9635509/

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