моя программа принимает файлы в качестве аргументов командной строки, объединяет их (не используя функцию cat), а затем распечатывает их номера строк. Я просто не уверен, как сохранить номера строк из одного файла в другой. Вот функция, которая делает это:
void b_option(int argNum, char * argv[])
{
char buf;
int fd;
fd = open(argv[argNum], O_RDONLY);
if(fd < 1)
{
perror("Cannot open file");
}
int n_chars;
int line_number = 0;
char previous;
while((n_chars = read(fd, &buf, sizeof(buf))>0))
{
if(previous == '\n' || line_number == 0)
{
printf("\t%d ", ++line_number);
}
//buf[n_chars] = '\0';
printf("%c", buf);
previous = buf;
}
close(fd);
}
Я также включил скриншот моего вывода.