Напишите программу, которая копирует содержимое из одного файла в другой в с на платформе Linux (Ubuntu) или создать программу, которые делают копии файлов в убунтуКопирование содержимого из одного файла в другой
ответ
Генеральный IDEA
Для копирования файлов вы не будете подставлять scanf() и printf(), поскольку данные не отформатированы. –
Зависит от того, каковы особенности назначения, но вот почему я помещаю их в качестве заменителей. – rerun
Вы не указали, какой язык программирования должен использоваться. Итак, я предполагаю, что вы используете bash. Напишите сценарий, который использует команду cp
, и ваше задание разрешено.
«Напишите программу, которая копирует содержимое из одного файла в другой ** в c ** ...». «Вопрос» (если вы хотите это назвать) также помечен C. – eldarerathis
Моя ошибка. В следующий раз я буду более осторожен. И тег «C» довольно узкий ;-) – darioo
Я уступлю это. Это подлый маленький педераст. – eldarerathis
Я бы рассмотрел использование перенаправления и труб, как вы бы с Shell? этот пример ниже был из оболочки, которую я написал, это, в частности, функция перенаправления. (>>) , чтобы вы могли сделать file1 >> file2 и скопировать содержимое одного файла в другой.
open(file[0], O_RDWR | O_CREAT, 0666); and while ((count = read(0, &c, 1)) > 0)
write(fd, &c, 1)
; // Пишите в файл являются важными частями
void redirect_cmd(char** cmd, char** file) {
int fds[2]; // file descriptors
int count; // used for reading from stdout
int fd; // single file descriptor
char c; // used for writing and reading a character at a time
pid_t pid; // will hold process ID; used with fork()
pipe(fds);
if (fork() == 0) {
fd = open(file[0], O_RDWR | O_CREAT, 0666);
dup2(fds[0], 0);
close(fds[1]);
// Read from stdout
while ((count = read(0, &c, 1)) > 0)
write(fd, &c, 1); //Write to file
exit(0);
//Child1
} else if ((pid = fork()) == 0) {
dup2(fds[1], 1);
//Close STDIN
close(fds[0]);
//Output contents
execvp(cmd[0], cmd);
perror("execvp failed");
//Parent
} else {
waitpid(pid, NULL, 0);
close(fds[0]);
close(fds[1]);
}
}
Это звучит как домашнее задание. Если это так, мы хмуримся здесь. Мы поможем с конкретными вопросами, но мы не собираемся делать это за вас. Если это не так, пожалуйста, будьте немного более конкретны в отношении вашего вопроса ... не просто «напишите это мне, пожалуйста». – Andy
ОК - Я сделал это ... теперь что? Где у вас проблемы с вашей попыткой? –