【问题标题】:How to Convert Binary from a TXT file in C /txt including only int/如何从 C /txt 中的 TXT 文件转换二进制文件,仅包括 int/
【发布时间】:2013-12-24 04:19:50
【问题描述】:

我询问的代码部分如下所示。 我的 TXT 包含 1-20 除以 .我想做一个二进制文件 从这个 txt 中,这就是程序应该做的事情,但它只是用记忆污垢来感受它。你能告诉我我的代码是否有错误吗?

void txt_to_bin (void)                                 
{
FILE *ft,*fb;
int a;
ft = fopen("binadatok.txt","rt");
fb = fopen("versenyazonosito.dat","wb");
while (fscanf(ft,"%d\n",&a) != EOF)
{
    fprintf(fb,"%d\n");

}

}

【问题讨论】:

  • 你没有在 fprintf 中放任何东西,这就是它会吸收内存污垢的原因。应该是编译器错误。此外,您只是再次放入相同的东西。
  • 从现在开始我还要说记忆污垢,谢谢:)

标签: c binary int converter txt2tags


【解决方案1】:

写入二进制文件时需要使用fwrite,而不是fprintf

fwrite(&a, sizeof(a), 1, fb);

【讨论】:

  • 非常感谢,我真的很想知道人们会免费帮助别人。
  • 不过我认为是 fwrite(&a,sizeof(a),1,fb);
【解决方案2】:

您没有在 fprintf(fb,"%d\n") 中提供任何值,您应该在此语句中提供 a 的输入。

void txt_to_bin (void)                                 
{
FILE *ft,*fb;
int a;
ft = fopen("binadatok.txt","rt");
fb = fopen("versenyazonosito.dat","wb");
while (fscanf(ft,"%d\n",&a) != EOF)
{
    fprintf(fb,"%d\n",a);

}

}

现在它可以工作了。

【讨论】:

  • 是的,这也是一个错误。很高兴你帮了我:)
猜你喜欢
  • 1970-01-01
  • 2020-02-10
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 2017-04-14
  • 2011-07-22
  • 1970-01-01
相关资源
最近更新 更多