If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register or Login
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

C++ String: How to use 'CString' in non-MFC applications?

Users of Visual Studio 2003 and newer may directly go to the next post#2 and skip this one.

- - -

Q: How to use 'CString' in non-MFC applications?

A: In most cases, you don't need to do that. In order to use 'CString' you have to statically or dynamically link your application to the entire MFC. This would not only increase the size of your executable file, the number of its dependencies, but also makes your program non-portable (especially if it is a Console application).

The recommended solution is to use the Standard C++ Class 'std::string'. It is as powerful as 'CString', is portable, using it does not imply adding a huge amount of things you don't need to your project and last, but not least, it is part of the programming language.

This being said, if you still want to use 'CString' in your non-MFC application, here it is whar you have to do:

Include 'afx.h' in one of your main headers

Open the menu 'Project -> Settings'. On the 'General' register of the settings dialog box choose 'Use MFC in a Shared DLL' or 'Use MFC in a Static Library' from the dropdown box called 'Microsoft Foundation Classes'.

Rebuild your project.

A simple sample of a console application using 'CString' looks like this: