I have created a function that takes as a parameter the name of a source file, the name of a destination file and the beginning and end lines of the source file lines that will be copied to the destination file, like the example below. All I want to do is to input the lines that I want to copy to the other text file like the example below:
The code I show you just "reads" the content of the one text file and "writes" another one. I want to "write" specific lines that the user gives, not the whole text file
Inputs by the user:
Source_file.txt //the file that the destination file will read from
destination_file.txt //the new file that the program has written
2 3 // the lines that it will print to the destination file: 2-3
Source_file.txt:
1
2
3
4
5
6
destination_file.txt
2
3
code:
#include <stdio.h>
#include <stdlib.h>
void cp(char source_file[], char destination_file[], int lines_copy) {
    char ch;
    FILE *source, *destination;
    source = fopen(source_file, "r");
    if (source == NULL) {
        printf("File name not found, make sure the source file exists and is ending at .txt\n");
        exit(EXIT_FAILURE);
    }
    destination = fopen(destination_file, "w");
    if (destination == NULL) {
        fclose(source);
        printf("Press any key to exit...\n");
        exit(EXIT_FAILURE);
    }
    while ((ch = fgetc(source)) != EOF)
        fputc(ch, destination);
    printf("Copied lines %d  from %s to %s \n",
           lines_copy, source_file, destination_file, ".txt");
    fclose(source);
    fclose(destination);
}
int main() {
    char s[20];
    char d[20];
    int lines;
    printf("-Enter the name of the source file ending in .txt\n"
           "-Enter the name of the destination file ending in .txt\n"
           "-Enter the number of lines you want to copy\n\n");
    printf(">subcopy.o ");
    gets(s);
    printf("destination file-> ");
    gets(d);
    printf("Lines: ");
    scanf("%d", &lines);
    cp(s, d, lines);
    return 0;
}
 
    