c语言二进制文件读写的编程题

如题所述

第1个回答  2016-10-22
#include <stdio.h>
int main(int argc, char* argv[])
{
FILE *fp1,*fp2;
if(argc != 3)
{
printf("useage:\ncopy infile outfile\n");
return 1;
}
fp1 = fopen(argv[1],"rb");
if(!fp1)
{
printf("can't open file %s\n",argv[1]);
return 2;
}
fp2 = fopen(argv[2],"wb");
if(!fp2)
{
printf("can't create file %s\n",argv[2]);
return 3;
}
while(true)
{
unsigned char Buf[4096];
int len = fread(Buf,1,sizeof(Buf),fp1);
if( 0 == len) break;
fwrite(Buf,1,len,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}追问

这个程序创建那两个文件在哪里

本回答被网友采纳

c语言关于fprintf的问题。
rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。rw+ 读写打开一个文本文件,允许读和写。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。...

c语言编程作业 急求 (读取2进制文件 输出16进制)万分感谢
include<stdio.h> include<stdlib.h> include<string.h> int main(int argc, char *argv[]){ char aa[] = "0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111";char bb[20];char cTmp[5];int tmp = 0;char* p = NULL;memset(bb, 0x00, sizeof(bb))...

C语言怎么编写一个程序读取任何二进制文件,并将文件内所有字节按相反排...
main(){ char c;FILE *rfp, *wfp;rfp = fopen("a.bin", "rb"); \/\/ 文件名自己指定 if(rfp == NULL) { printf("文件不存在\\n");return -2;} wfp = fopen("b.bin", "wb");if(wfp == NULL) { printf("无法创建文件\\n");return -2;} fseek(rfp, -1, SEEK_END);do {...

弱弱的问个C语言的问题 关于二进制文件的读写
linux操作系统不区分文本文件和二进制文件,只有在windows上才需要wb。你可以试验一下,到底默认是二进制还是文本的。二进制方式很简单,读文件时,会原封不动的读出文件的全部内容,写的时候,也是把内存缓冲区的内容原封不动的写到文件中。而文本方式就不一样了,在读文件时,会将换行符号CRLF(0x0D 0...

编写C语言,实现读取一个二进制文件,以16进制格式显示在屏幕上
include <stdio.h> int main(){ FILE *fp1 = NULL;char buf1[100] = {0};int i;fp1 = fopen("1.txt", "r");for(i=0;i<5;i++){ fread(&buf1[i], sizeof(char), 1, fp1);printf("0x%x, ", buf1[i]);} fclose(fp1);return 0;} 1.txt为 baidu C:\\Documents and ...

C语言问题 ,谁能帮我解释一下A B C D各代表什么意思???
rb+ 读写打开一个二进制文件,允许读数据。rt+ 读写打开一个文本文件,允许读和写。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。a 以附加的方式...

C编写以二进制读取文件(任意格式),保存到C语言数据格式的TXT文档
FILE* in,*out;in=fopen("c:\\\\p.png","rb");out=fopen("c:\\\\out.txt","a");char s[255]={0};while(!feof(in)){ int c=fgetc(in);sprintf(s,"0x%x ",c);fputs(s,out);} return 0;

C语言输出二进制文件的问题
1、打开编译器,Ctrl+N新建一个文件;2、输入如下程序 include <stdio.h> include <stdlib.h> int main(){ int a;char b[100];scanf("%d",&a);itoa(a,b,2);printf("%s",b);} 3、按F9编译 4、按F5运行程序输入想要转化的数字即可,完成。

C语言读写二进制文件读取 大小端,该怎么解
我们来看看fwrite和fread,本来以为这个很麻烦,但是用过之后发现这个二进制文件读写才是最简单的。size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);fwrite()用来将数据写入文件流中。 stream为已打开的文件指针 ptr 指向欲写入的数据地址写入的字符数以参数size*nmemb来...

用C语言编写 文件读写
第一种:include <stdio.h>#include <string.h>#include <stdlib.h>struct student \/\/结构体{ char name[20]; \/\/姓名 int english; \/\/英语 int math; \/\/数学 int program; \/\/程序设计}s[50];void daoru(struct student s[], int* n) \/\/文件导入函数{ FILE *p; int i=*n;...

相似回答