二进制方式打开命令行参数中指定文件并将二进制方式读取的文件数据存储为文本文件即ASCII的0与1方式
发布网友
发布时间:2022-07-26 06:28
我来回答
共1个回答
热心网友
时间:2023-10-17 21:16
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
FILE *ifp,*ofp;
long a=0;
char *ch;
ifp=fopen(argv[1],"rb");
ofp=fopen(argv[2],"wb");
if((ifp==NULL)||(ofp==NULL))
{
printf("Can't open file");
exit(1);
}
fseek(ifp,0L,SEEK_END);
a=ftell(ifp);
fseek(ifp,0L,SEEK_SET);
ch=malloc(sizeof(char)*(a+1)); /*末尾还要加一个\0做字符串结尾*/
fread(ch,sizeof(char),a,ifp);
ch[a+1]=0;
fprintf(ofp,"%s",ch);
fclose(ifp);
fclose(ofp);
free(ch);
}