Я в основном пытаюсь создать FILE
указатель на текущий файл (argv[0]
), используя fopen()
, но он возвращает SegFault, я попытался распечатать ошибку и получил: Текстовый файл занят. Вот что у меня получилось. Очевидно, ошибка находится в строке 14, if (localFile == NULL)
void copy(char *localFileName, char *targetFileName) {
int ch;
FILE *localFile = fopen(localFileName, "r+b");
FILE *targetFile = fopen(targetFileName, "r+b");
FILE *tempFile = fopen("tempFile.bin", "wb+");
if (tempFile == NULL) {
perror("tempFile");
}
if (targetFile == NULL) {
perror("targetFile");
}
if (localFile == NULL) {
perror("localFile");
}
while((ch = fgetc(localFile)) != EOF) {
fputc(ch, tempFile);
}
while ((ch = fgetc(targetFile)) != EOF) {
fputc(ch, tempFile);
}
fclose(localFile);
fclose(targetFile);
}