gpt4 book ai didi

C 程序文件复制

转载 作者:行者123 更新时间:2023-11-30 18:51:15 24 4
gpt4 key购买 nike

我编写了一段 C 代码,用于将文件数据从一个文件复制到另一个文件。以下代码工作正常。但编译器仍然显示错误答案,因为执行时间高达 280.0,下面是我的代码

#include<stdio.h>
int main()
{
FILE *fp1,*fp2;
char ch,fname1[20],fname2[20];
printf("Enter the input file name\n");
gets(fname1);
printf("Enter the output file name\n");
gets(fname2);
fp1=fopen(fname1,"r");
fp2=fopen(fname2,"w");
do
{
ch=fgetc(fp1);
fputc(ch,fp2);
}
while(ch!=EOF);
return 0;
}

最佳答案

您的程序将始终输出 EOF 字符。

fgetc 实际上不返回字符,而是返回 int。EOF 实际上是-1。当您写入它时,一个额外的字节(0xFF)将被写入到输出文件中。

正确的代码如下:

while ((ch = fgetc(fp1)) != EOF)
{
fputc(ch,fp2);
}

您可能会争论这段代码是否优雅,但重点是您不应该打印 EOF 字符。

关于C 程序文件复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37377425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com