gpt4 book ai didi

c - C语言如何将一个文件的内容复制到另一个文件

转载 作者:行者123 更新时间:2023-12-05 02:21:37 26 4
gpt4 key购买 nike

#include<stdio.h>
#include<process.h>

void main() {
FILE *fp1, *fp2;
char a;

fp1 = fopen("input.txt", "r");
if (fp1 == NULL) {
puts("cannot open this file");
exit(0);
}

fp2 = fopen("output.txt", "w");
if (fp2 == NULL) {
puts("Not able to open this file");
fclose(fp1);
exit(0);
}

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

fclose(fp1);
fclose(fp2);
getch();
}

我创建了文件 input.txt 和 output.txt,在我运行程序后我没有看到文本被复制。 (我也从 cmd 和直接从记事本创建 .txt 文件,但两者都不起作用)

最佳答案

我建议进行以下更改。

建议1

使用

int a;

代替

char a;

根据您的平台上 char 的类型是有符号还是无符号,

a = fgetc(fp1);

如果 achar 类型,可能会出现问题,因为 fgetc 返回一个 int

建议2

do-while 循环有缺陷。您最终将调用 fputc(a, fp2),即使对于 a = EOF,您当前的设置也是如此。将其更改为:

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

关于c - C语言如何将一个文件的内容复制到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33400540/

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