代码改变世界

从文本中读取内容并把读取到的内容转化成二进制保存的形式(包含十进制数如何转换成二进制数dtob函数)

2013-08-02 17:09  夏洛克·福尔摩斯  阅读(627)  评论(0编辑  收藏  举报
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<malloc.h>
dtob(int a);
int main(int argc,char **argv)
{
    FILE *fp;
    int a;
    if((fp=fopen("1.c","r"))==NULL)
    {
        printf("open error\n");
    }
    while((a=getc(fp))!=-1)
    {
        dtob(a);
    }
    printf("\n");
    return 0;
}

dtob(int a)
{
    int i=0;
    int *p;
    p=(int *)malloc(8*sizeof(int));
    while(i<8)
    {
        if(a/2 || a==1)
        {
            *(p+i)=a%2;
        }
        else
            *(p+i)=0;
        a=a/2;
        i++;
    }
    for(i=7;i>=0;i--)
        printf("%d",*(p+i));
}