我是 c 文件 IO 的新手。我决定用 c 编写一个简单的脚本,将一个文件复制到一个新文件中以供练习:
#include <stdio.h>
void main(int argc, char* argv[])
{
if (argc != 3)
{
printf("Usage: ./myFile source destination");
exit(-1);
}
FILE * src = fopen(argv[1], "r");
if (src == NULL)
{
printf("source file not found", argv[1]);
exit(-1);
}
FILE* dest = fopen(argv[2], "w");
unsigned char c;
do {
c = fgetc(src);
fputc(c, dest);
} while (c != EOF);
}
但是,我得到一个无限循环。这是因为我从未真正击中过一个名为 EOF 的角色吗?
此外,除了一次读取每个字符 1 之外,是否有更快的方法来编写此脚本?