将TXT转换为BIN,并打印出BIN的内容

时间:2013-12-07 14:23:05

标签: c file binary fread scanf

我正在尝试从txt文件转换为二进制文件,txt包含来自1-20的数字 除以(输入)。只要我知道它工作正常(调试它)但也许它可能包含错误,所以你可以看到它。之后我想检查一下我的二进制文件是什么。 我想打印二进制文件进行监控。但是它打印了一段记忆污垢你能帮我找到代码中的问题吗?提前谢谢

void txt_to_bin (void)                                   /*Make binary from txt*/ 
{
    FILE *ft,*fb;
    int a;
    ft = fopen("binadatok.txt","rt");
    fb = fopen("versenyazonosito.dat","wb");
    while (fscanf(ft,"%d\n",&a) != EOF)
    {
        fwrite(&a,sizeof(a),1,fb);
        printf("%d\n", a);
    }
}

void bin_olvas(void)                       /*Print out the binary*/   
{
    FILE *f;
    int k;
    f = fopen("versenyazonosito.dat","rb");
    while(!feof(f))
    {
        (fscanf(f,"%d\n",&k) != EOF);  
        printf("%d\n", k);
    }
    fclose(f);
}

1 个答案:

答案 0 :(得分:0)

fscanf(f, "%d\n", &k)仅对读取ASCII文件有用。您无法使用它从versenyazonosito.dat读取二进制数据。您将不得不使用fread或类似的东西。