OK, i guess you can tell that im upset!! .... For some reason my computer $#%* up when i try to use a char *or a TCHAR *... here

Code:
char *flnm, *str, ch; int i = 0;

cout<<"Enter the file name to be read:"<<endl;
getline(cin, flnm, '<');

ifstream fin(flnm);
while (fin.get(ch)) {
    str[i] = ch;
    i++;
}
fin.close();
cout<< The file reads..."<<endl<<endl<<str<<endl;
When I run the program it starts up and the computer does its clicking noise a bunch and then it gives me: test has created and error in test.exe, test.exe will now close. and it quits!!!!!!!!!! WHY IS IT DOING THAT!!!!????? Can any1 tell me? I know its the char * thats messing up cause when I comment those lines out (the str[i] = ch; line) it runs through fine (except that i get no return data.