title: C - Working with fopen, fclose, fputc etc
body: <p>I've got this code finally working with a single argument on my command line, i.e. one file for it to work with, although I designed the code with the concept of it working with an unlimited number of files. What it does is take some X number of text files containing words separated by spaces, and replaces spaces with <code>\n</code> thus creating a list of words. Though, it successfully completes the first argument, it just ignores the 2nd. </p>
  
  <p>Another minor problem seems that it also prints out some garbage letter at the end, a Y with two dots above it; I assume some EOF symbol, yet I can't seem to stop that happening!
  </p>
  
  <pre><code>int main(int argc, char** argv) {
      FILE *fpIn, *fpOut;
      int i, j;
      j = 1;
      char c;
      char myString[256];
  
      printf("%d", argc);
      printf("\n");
      printf("The following arguments were passed to main(): ");
                  for(i=1; i&lt;argc; i++) printf("%s ", argv[i]);
      printf("\n");
  
      while(argc--) {
          for(i = 1; i &lt; argc; i++) {
              fpIn = fopen(argv[j], "rb");
              snprintf(myString, 256, "%s~[%d]", argv[j], i);
              fpOut= fopen(myString, "wb");
              while (c != EOF) {
                  c = fgetc(fpIn);
                  if (isspace(c)) 
                      c = '\n';
                  fputc(c, fpOut );
              }
              j++;
          }
      }
      return 0;
  }
  </code></pre>