下面程序的功能是将一个磁盘中的二进制文件复制到另一个磁盘中,两个文件名随命令行一起输入,输入时原有文件的文件名在前,新复制文件的文件名在后。请填空补全。(注意:填写时不要加额外空格) #include <stdio.h> int main(int argc,char *argv[]) { FILE *old,*new; char ch; if(argc!=3) { printf(“You forgot to enter a filename\n”); exit(0); } if((old=fopen( ," "))==NULL) { printf(“cannot open infile\n”); exit(0); } if((new=fopen( ," "))==NULL) { printf(“cannot open outfile\n”); exit(0); } while(!feof(old)) fputc( ,new); fclose(old); fclose(new); return 0; }
时间: 2023-06-05 21:04:55 浏览: 139
程序如下:
```
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *fp1, *fp2;
char ch;
if (argc != 3) {
printf("Usage: %s file1 file2\n", argv[0]);
exit(1);
}
if ((fp1 = fopen(argv[1], "rb")) == NULL) {
printf("Cannot open %s\n", argv[1]);
exit(1);
}
if ((fp2 = fopen(argv[2], "wb")) == NULL) {
printf("Cannot open %s\n", argv[2]);
exit(1);
}
while ((ch = getc(fp1)) != EOF) {
putc(ch, fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
```
空格填写如下:
将一个磁盘中的二进制文件复制到另一个磁盘中,两个文件名随命令行一起输入,输入时原有文件的文件名在前,新复制文件的文件名在后。
相关问题
下面程序的功能是将一个磁盘中的二进制文件复制到另一个磁盘中,两个文件名随命令行一起输入,输入时原有文件的文件名在前,新复制文件的文件名在后。请填空补全。(注意:填写时不要加额外空格) #include <stdio.h> int main(int argc,char *argv[]) { FILE *old,*new; char ch; if(argc!=3) {
程序缺少的部分应该是文件拷贝的实际代码,包括打开原文件、创建新文件、逐个字节读取原文件并写入新文件的操作。同时,在程序中应该加入对命令行输入的解析和错误处理的代码,以及复制过程中可能出现的各种异常情况的处理代码。
如何建立二进制磁盘文件
建立二进制磁盘文件可以使用Python中的内置模块os来实现。可以使用os.open()打开文件,然后使用os.write()写入数据,最后使用os.close()关闭文件。具体实现过程如下:
```
import os
# 定义文件名和数据
file_name = 'test.bin'
data = b'\x00\x01\x02\x03'
# 打开文件并写入数据
with os.open(file_name, os.O_CREAT | os.O_WRONLY | os.O_TRUNC | os.O_BINARY) as f:
os.write(f, data)
# 关闭文件
os.close(f)
```
以上代码使用os.open()打开文件,并使用参数os.O_CREAT | os.O_WRONLY | os.O_TRUNC | os.O_BINARY指定创建一个新文件,并以二进制写入模式打开。然后使用os.write()写入数据,并最终使用os.close()关闭文件。