I believe that is a memory location, but I'm not familiar enough with c++ to give you a true answer. I think your problem is around here
FILE *m;
m = fopen("unix.cpp","w"); //this being the problem
int l;
l = 300;
if(l != a)
{
cout<<m; //here too
}

I know at with java at least you will get that sort of number when the memory location of a string is returned.

Edit:
Looking at your code it looks like you are trying to output the source of unix.cpp? If you are trying to run the code from unix.cpp then I think you are going about it wrong by using cout<<