C++编程,用标准库和输入输出流

现有文本文件,text.txt(请考生自己创建),其内容如下:11000101001010000101101011111101请编写程序,读取文件内容,将二进制转化为十六... 现有文本文件, text.txt ( 请考生自己 创建),其内容如下:

11000101

00101000

01011010

11111101

请编写程序,读取文件内容,将二进制转化为十六进制表示形式后,写入新文件 new.txt ,同时将 new.txt 内容在屏幕上输出。 new.txt 的内容及屏幕输出结果如下:

C5

28

5A

FD

提示:每 4 位二进制数转换为 1 位十六进制数。
展开
 我来答
匿名用户
2011-12-12
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <math.h>

void main()
{
int i,len,sum;
char str[50];
FILE *fp1,*fp2;

if((fp1=fopen("text.txt","rt"))==NULL)
{
printf("不能打开 text.txt 文件\n");
return;
}
if((fp2=fopen("new.txt","wt"))==NULL)
{
printf("不能打开new.txt文件\n");
return;
}
while(!feof(fp1))
{
fscanf(fp1,"%s",str);
len=strlen(str);
sum=0;
for(i=0; i<len; i++)
sum+= (str[i]-'0') * pow(2, len - i-1);
itoa(sum,str,16);
fprintf(fp2,"%s\n",str);
printf("%s\n",str);
}
fclose(fp1);
fclose(fp2);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式