返回信息流求问,C语言中一个十进制的txt文件(里面都是0101的数字)如何转为二进制的txt文件(ASCII代码的形式)?
这是一条镜像帖。来源:北邮人论坛 / cpp / #93578同步于 2016/9/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[问题]十进制转二进制
xiaomihu
2016/9/27镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
#include<stdio.h>
#include<string.h>
#define MAXLEN 1024
int main()
{
FILE *infile = fopen("fuck.txt","r");
FILE *outfile= fopen("shit.txt","wb");
int i;
char buf[MAXLEN];
unsigned char result[MAXLEN];
memset(buf , 0, sizeof(buf ));
memset(result, 0, sizeof(result));
while(fgets(buf, MAXLEN, infile) != NULL)
{
for(i = 0; i < MAXLEN && buf[i]; i++)
{
if(buf[i] == '1')
result[i/8] |= (0x80 >> (i % 8));
}
fwrite(result, sizeof(unsigned char), i/8, outfile);
memset(buf , 0, sizeof(buf ));
memset(result, 0, sizeof(result));
}
fclose(infile );
fclose(outfile);
return 0;
}