Нужно использовать функцию lseek в этой программе ниже ... Программа просто копирует файл (который уже существует). Я хотел скопировать существующий файл с символами из конца файла
например: Sorce_File.txt содержит: «1 2 3» после копирования Target_File.txt содержит: «3 2 1»
Я почти уверен, что это простая проблема, но не смог узнать, как это сделать 2 дня
#include <fcntl.h>
#include <stdio.h>
#define MAX 512
int main(int argc, char* argv[]){
char buf[MAX];
int desc_sorc, desc_targ;
int lbajt;
if (argc<3){
argv[0];
exit(1);
}
desc_sorc = open(argv[1], O_RDONLY);
if (desc_sorc == -1){
}
desc_targ = creat(argv[2], 0640);
if (desc_targ == -1){
exit(1);
}
while((lbajt = read(desc_sorc, buf, MAX)) > 0){
if (lbajt == -1) {
perror("position error");
exit(1);}
if (write(desc_targ, buf, lbajt) == -1)
{
exit(1);
}
}
if (lbajt == -1){
exit(1);
}
if (close(desc_sorc) == -1 || close(desc_targ) == -1){
exit(1);
}
exit(0);
}