免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8492 | 回复: 12
打印 上一主题 下一主题

问题求教:如何生成一个二进制文件?(急 急 急) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-27 14:20 |只看该作者 |倒序浏览
问题是这样的:编制输入1个整数,将小于其整数的所有素数输出到二进制文件的程序。输入的整数为10000以下(含10000)。且,输出文件名为"prime.dat"。

请问,这个.dat文件是什么意思?我应该怎么理解它。是不是我在写代码的时候叫它生成 “prime.dat”文件就可以了呢。如果是这样,我应该采用什么打开方式,才能看到里面的数据。

论坛徽章:
0
2 [报告]
发表于 2005-04-27 14:22 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

fopen (..., "rb"

用 fwrite 将素数结构往里头写

论坛徽章:
0
3 [报告]
发表于 2005-04-27 14:30 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

标准c的几个f开头的文件读写函数都是针对2进制文件的!

论坛徽章:
0
4 [报告]
发表于 2005-04-27 15:06 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

无所谓针对不针对,写的是字符就是字符文件,写二进制数的就是二进制文件

论坛徽章:
0
5 [报告]
发表于 2005-04-27 15:19 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

"rb"代表的意思:读 /写打开一个二进制文件吗? 我的意思是,现在这个文件不存在,是把素数的结果 写入到这个二进制文件(prime.dat)里面去。

论坛徽章:
0
6 [报告]
发表于 2005-04-27 15:56 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

"wb" 吧,我写错了 。

论坛徽章:
0
7 [报告]
发表于 2005-04-27 16:11 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

这是我写的代码:
#include "stdio.h"

int main(void)
{
    FILE *fp;
    char ch;
    int a, b ,c;

    if((fp = fopen("prime.dat", "wb") == NULL){
        printf("cannot open file\n";
        exit(0);
    }
    printf("please input a int num : ";
    scanf("%d", &c);

    for(a = 2; a < c; a++) {
    for(b = 2; b <= a; b++) {
        if(a % b == 0)
            break;
        }
        if(b == a)
            fwrite(&b,8,10,fp);
    }

    fclose(fp);

    system("pause";
    return 0;
}

能否给指点一下。 辛苦了。

论坛徽章:
0
8 [报告]
发表于 2005-04-27 16:39 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

fwrite(&b,8,10,fp);

8 和 10 是什么? 另外,你计算出的素数是错的。你还是先算对在考虑文件的问题吧。

论坛徽章:
0
9 [报告]
发表于 2005-04-27 16:56 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

恩?在计算这个地方不可能出现问题。这个我保证。
我现在不理解的地方就是 fwrite()这个函数的用法。
我在书上看到些关于介绍fwrite()函数的问题。
比如fwrite(buffer, size, count, fp) 分别指的是:buffer(读入数据的存放地址),size(要读写的字节数),count(要读多少个字节),fp(文件指针)。结合本题的意思,我应该着呢们用 size 和 count 呢?

论坛徽章:
0
10 [报告]
发表于 2005-04-27 17:12 |只看该作者

问题求教:如何生成一个二进制文件?(急 急 急)

fwrite (&b, sizeof(b), 1, fp);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP