title: Converting commandline argument to string in C
body: <p>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</p>
  
  <pre><code>    #include&lt;string.h&gt;
      #include &lt;stdio.h&gt;
      #include &lt;stdlib.h&gt;
      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);
        }
  </code></pre>