Тема: имена файлов в командной строке
Как сделать, чтобы имена файлов задавались в командной строке (первый аргумент - исходный файл, второй - результирующий) ? и если аргументы командной строки отсутствуют, использовать стандартный ввод и стандартный вывод.
#include <stdio.h>
#include <fcntl.h>
#define BUFFER_SIZE 8096
int main ()
{
char filename [1000],
destname [1000],
buffer[BUFFER_SIZE];
int fd_in = 0,
fd_out = 0;
ssize_t ret_in,
ret_out;
printf("Enter name first file:");
gets(filename);
printf("Enter name copy of first file:");
gets(destname);
fd_in = open(filename, O_RDONLY);
if (fd_in == -1)
printf("error with open source file");
fd_out = open(destname,O_WRONLY | O_CREAT, 0644);
if (fd_out == -1)
printf("error with open dest. file");
while ((ret_in = read(fd_in, &buffer, BUFFER_SIZE)) > 0)
{
ret_out = write(fd_out, &buffer, (ssize_t) ret_in);
if (ret_out != ret_in)
printf("Error with write to dest.");
}
close(fd_in);
close(fd_out);
return 0;
}