This code compiles fine, but i get an illegal operation once the program gets to the strcat() line, and i have no friggin clue.

the program reads from a file called settings and gets the first line of it, which is a directory to install something to.
(c:\whatever\whatever)

Code:
char *copy = "copy ";
char installdir [64];

ifstream settings ("settings.cfg");
  if (!settings.is_open())
  {
      cout<<"Configuration file (settings.cfg) not found.\n";
  }
  settings.getline (installdir, 64, '\n');
  settings.close();
  strcat (copy, installdir);
i am trying to append the installdir to the word "copy" so i can use this in a system(copy).
Anyone know why i am getting an illegal op?