I am new to programming. I want to take one commandline argument which is a filename and open that particular file and copy the contents to another file. I don't know how to convert the commandline argument to a string or file pointer. I checked strcpy and std::string which I found online but it didn't work. Please help me. I have pasted my code below
    #include<string.h>
    #include <stdio.h>
    #include <stdlib.h>
    void main(int argc, char *argv[])
    {
    char *inp;
    strcpy(inp,argv[1]);
    FILE *fp;
    char str[5];
    //printf("Enter the file name:");
    //scanf("%s",fname);
     if ((fp= fopen(inp, "r")) == NULL) {
     printf("cannot open file");
     exit(1);
     }
     FILE *fp1;
     fp1=fopen("out.txt","w+");
     while(!feof(fp)) {
     fgets(str,4,fp);
     printf("%s",str);
     fprintf(fp1,"%s",str);
      }
     fclose(fp);
      fclose(fp1);
      }
 
     
     
    