Opening File

hi
i m opening a file from a CFileDialog


char * ch1 = dlgOpen.GetFileName().LockBuffer();
dlgOpen.GetFileName().ReleaseBuffer();
char * ch2 = dlgOpen.GetFolderPath().LockBuffer();
dlgOpen.GetFolderPath().ReleaseBuffer();

and trying to get the full path and file name of the file as one ..but the code above keeps giving me error when i run the program..compiles..anyone tell me whats wrong ? or have a better way of doing what i want to do ?
thanks
prinxAsked:
Who is Participating?
 
SteveGTRCommented:
Call CDialog::GetPathName():

CFileDialog dlg;

...

if (dlg.DoModal() == IDOK)
  {
  CString str = dlg.GetPathName();

  // str has your full path, ex: c:\temp\temp.dat
  }

Good Luck,
Steve
0
 
SteveGTRCommented:
That should be CFileDialog::GetPathName() :)
0
 
ekcCommented:
> char * ch1 = dlgOpen.GetFileName().LockBuffer();

I think the error is caused by the assigning a string to char * var that doesn't hold any allocated memory.
Try to allocate some memory to this var before calling this function...
0
 
prinxAuthor Commented:
i found out the prob is caused by
dlgOpen.GetFolderPath().LockBuffer();

y is this so ? thanks. i've tried alocated mem and its the same
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.