Use CString. CString is always at least as efficient as char arrays, and often *more* efficient. Anything you can do with char arrays, you can do with a CString.

CString sMyData;
sMyData = "Lots of data";
DoSomething(sMyData);

// If DoSomething does not modify "sMyData"...
void MyClass:oSomething(const CString& sMyData)
{
}

// If DoSomething does modify "sMyData"...
void MyClass:oSomething(CString& sMyData)
{
}

Also, buy a *good* C++ book like "Thinking in C++" or "Effective C++"...

HTH.

LA Leonard - Definitive Solutions, Inc.