At the end of the Read function, you free the buffer. After that (and in your main function) any reference to a pointer inside this buffer is not allowed.
You should return the buffer and free it later
int _tmain(int argc, _TCHAR* argv[])
{
char* buffer = Read("a.csv");
cout<<data[1][1]<<"\n";
cout<<line[1]<<"\n";
line.clear();
data.clear();
free(buffer);
return 0;
}
And remember, in C/C++ array are indexed starting at 0, that means line[1] is the 2nd item of array line.