> Ok now I'm officially confused. I thought MFC used ATL's CString in > recent incarnations? (mfc & atl 7, msvc.net 2003).
MFC and ATL in VC7 and above use a common implementation base, with some tiny different bits here and there (specified by the second template argument of CStringT. Check out StrTraitATL and StrTraitMFC. > > OP, why aren't you using std::string? > > Well I normally do, but since this is a project with WTL/ATL I thought > it would be easier to use CString since all WTL functions take CString > arguments, and that way I wouldn't have to do all the ugly .c_str() > thing every time. That and I like the .Format() way better than > std::ostringstream. I used to be very much against CString as well but > now that I've used it a bit more I can't really think of any good > reasons any more why to use std::string. Would it solve my problem? > I'd have to use std::wstring (or template my own class on TCHAR I > guess) and I'd have to all conversion manually, or not? I am not going to comment on which one is better, but watch out that std::string is equivalent to CStringA, *not* CString itself. To get an equivalent of CString, one must use something like: typedef std::basic_string< TCHAR > tstring; Check out the attached header file. Although not very neat, it's served me in numerous projects. You're free to use it in your projects as well. ------------- Ehsan Akhgari Farda Technology (http://www.farda-tech.com/) List Owner: [EMAIL PROTECTED] [ Email: [EMAIL PROTECTED] ] [ WWW: http://www.beginthread.com/Ehsan ] But the thought is one thing, the deed another, and the idea of the deed still another. The wheel of causality does not roll between them. -Thus Spoke Zarathustra, F. W. Nietzsche begin 666 cpp_std_lib.hxx M(VEF;F1E9B!C<'!?<W1D7VQI8E]H>'@-"B-D969I;[EMAIL PROTECTED]:6)? M:'AX#0H-"B-I9F1E9B!?35-#7U9%4B O+R!I9B!C;VUP:6QI;F<@=7-I;F<@ M5D,K*PT*(VEN8VQU9&4@/'1C:&[EMAIL PROTECTED]@9&[EMAIL PROTECTED]&AE(%1# M2$%2('1Y<&[EMAIL PROTECTED](%]4*"D@;6%C<F\@;6%N=6%L;'D-"B-I9B!D969I M;F5D*%5.24-/1$4I("8F(&1E9FEN960H7U5.24-/1$4I#0IT>7!E9&5F('=C M:&[EMAIL PROTECTED](05([#0HC9&5F:6YE(%]4*'@I($P@(R,@> T*(V5L<V4-"B-I M9B!D969I;F5D*%5.24-/1$4I('Q\(&1E9FEN960H7U5.24-/1$4I#0HC97)R M;W(@54Y)0T]$12!A;[EMAIL PROTECTED]/1$4@<WEM8F]L<R!S:&]U;&[EMAIL PROTECTED]:"!B M92!D969I;[EMAIL PROTECTED](V5N9&EF#0IT>7!E9&5F(&-H87(@5$-(05([#0HC9&5F M:6YE(%]4*'@I('@-"B-E;[EMAIL PROTECTED](V5N9&EF#0HC:69N9&5F($-04%].3U]) M3U-44D5!35]35$1?3$E"#0HC:6YC;'5D92 \:6]S9G=D/@T*(VEN8VQU9&4@ M/&EO<W1R96%M/@T*(V5N9&EF#0HC:6YC;'5D92 \<W1R:6YG/@T*#0HC:69N M9&5F($-04%].3U])3U-44D5!35]35$1?3$E"#0HC:69N9&5F(%5.24-/1$4- M"B\O(#QI;W-T<F5A;[EMAIL PROTECTED]&5F:6YI=&EO;G,-"B-I9B!D969I;F5D*%]-4T-? M5D52*2 F)B!?35-#7U9%4B ^/2 Q,S P#0HO+R!I9B!C;VUP:6QI;F<@=7-I M;F<@5D,K*R W#0HO+R!T:&5N+"!U<[EMAIL PROTECTED]&AE('-E;&5C=&%N>2!D96-L87)A M=&EO;B!S<&5C:69I97(-"B\O('1O('!R979E;G0@:&%V:6YG(&UU;'1I<&QE M('1C>'@@=F%R:6%B;&[EMAIL PROTECTED])R;W)S#0HO+R!A="!L:6YK('1I;64N#0I?7V1E M8VQS<&5C*"!S96QE8W1A;[EMAIL PROTECTED]&0Z.FES=')E86T@)B!T8VEN(#T@<W1D M.CIC:6X[#0I?7V1E8VQS<&5C*"!S96QE8W1A;[EMAIL PROTECTED]&0Z.F]S=')E86T@ M)B!T8V]U=" ]('-T9#HZ8V]U=#L-"E]?9&5C;'-P96,H('-E;&5C=&%N>2 I M('-T9#HZ;W-T<F5A;2 F('1C97)R(#T@<W1D.CIC97)R.PT*7U]D96-L<W!E M8R@@<V5L96-T86YY("D@<W1D.CIO<W1R96%M("[EMAIL PROTECTED]&-L;V<@/2!S=&0Z.F-L M;V<[#0HC96QS92 O+R!I9B!W92=R92!C;VUP:6QI;F<@=VET:"!S;VUE(&]T M:&5R(&-O;7!I;&5R#0H@(" @(" O+R!D:7)T>2!T<FEC:SH@<'5T('1H92!V M87)I86)L97,@:6YS:61E(&%N(&%N;VYY;6]U<PT*(" @(" @+R\@;F%M97-P M86-E+"!S;R!T:&%T(&5A8V@@=')A;G-L871I;[EMAIL PROTECTED]',@9V5T<R!I=',- M"B @(" @("\O(&]W;B!C;W!Y+B @5V%S=&5F=6P@<W1R871E9WDL(&)U="!) M(&1O;B=T(&MN;W<@;V8-"B @(" @("\O(&%N>2!O=&AE<B!P;W)T86)L92!W [EMAIL PROTECTED]&[EMAIL PROTECTED]&[EMAIL PROTECTED]&AI<RX-"FYA;65S<&%C90T*>PT*<W1D.CII<W1R96%M("8@ M=&-I;B ]('-T9#HZ8VEN.PT*<W1D.CIO<W1R96%M("[EMAIL PROTECTED]&-O=70@/2!S=&0Z M.F-O=70[#0IS=&0Z.F]S=')E86T@)B!T8V5R<B ]('-T9#HZ8V5R<CL-"G-T M9#HZ;W-T<F5A;2 F('1C;&]G(#T@<W1D.CIC;&]G.PT*?0T*(V5N9&EF#0H- M"B\O(#QI;W,^(&1E9FEN:71I;VYS#0IT>7!E9&5F('-T9#HZ<W1R96%M<&]S M('1S=')E86UP;W,[#0H-"B-E;'-E#0HO+R \:6]S=')E86T^(&1E9FEN:71I M;VYS#0HC:[EMAIL PROTECTED]&5F:6YE9"A?35-#7U9%4BD@)[EMAIL PROTECTED](@/CT@,3,P M, T*+R\@:[EMAIL PROTECTED]<&EL:6YG('5S:6YG([EMAIL PROTECTED]@=&AE;[EMAIL PROTECTED] M('1H92!S96QE8W1A;[EMAIL PROTECTED]&5C;&%R871I;VX@<W!E8VEF:65R#0HO+R!T;R!P M<F5V96YT(&AA=FEN9R!M=6QT:7!L92!T8WAX('9A<FEA8FQE(&5R<F]R<PT* [EMAIL PROTECTED]@;&EN:R!T:[EMAIL PROTECTED]<W!E8R@@<V5L96-T86YY("D@<W1D M.CIW:7-T<F5A;2 F('1C:6X@/2!S=&0Z.G=C:6X[#0I?7V1E8VQS<&5C*"!S M96QE8W1A;[EMAIL PROTECTED]&0Z.G=O<W1R96%M("[EMAIL PROTECTED]&-O=70@/2!S=&0Z.G=C;W5T M.PT*7U]D96-L<W!E8R@@<V5L96-T86YY("D@<W1D.CIW;W-T<F5A;2 F('1C M97)R(#T@<W1D.CIW8V5R<CL-"E]?9&5C;'-P96,H('-E;&5C=&%N>2 I('-T M9#HZ=V]S=')E86T@)B!T8VQO9R ]('-T9#HZ=V-L;V<[#0HC96QS92 O+R!I M9B!W92=R92!C;VUP:6QI;F<@=VET:"!S;VUE(&]T:&5R(&-O;7!I;&5R#0H@ M(" @(" O+R!D:7)T>2!T<FEC:SH@<'5T('1H92!V87)I86)L97,@:6YS:61E M(&%N(&%N;VYY;6]U<PT*(" @(" @+R\@;F%M97-P86-E+"!S;R!T:&%T(&5A M8V@@=')A;G-L871I;[EMAIL PROTECTED]',@9V5T<R!I=',-"B @(" @("\O(&]W;B!C M;W!Y+B @5V%S=&5F=6P@<W1R871E9WDL(&)U="!)(&1O;B=T(&MN;W<@;V8- M"B @(" @("\O(&%N>2!O=&AE<B!P;W)T86)[EMAIL PROTECTED]&[EMAIL PROTECTED]&[EMAIL PROTECTED]&AI<RX- M"FYA;65S<&%C90T*>PT*<W1D.CIW:7-T<F5A;2 F('1C:6X@/2!S=&0Z.G=C M:6X[#0IS=&0Z.G=O<W1R96%M("[EMAIL PROTECTED]&-O=70@/2!S=&0Z.G=C;W5T.PT*<W1D M.CIW;W-T<F5A;2 F('1C97)R(#T@<W1D.CIW8V5R<CL-"G-T9#HZ=V]S=')E M86T@)B!T8VQO9R ]('-T9#HZ=V-L;V<[#0I]#0HC96YD:68-"@T*+R\@/&EO M<[EMAIL PROTECTED]&5F:6YI=&EO;G,-"G1Y<&5D968@<W1D.CIW<W1R96%M<&]S('1S=')E M86UP;W,[#0H-"B-E;[EMAIL PROTECTED] \9G-T<F5A;[EMAIL PROTECTED]&5F:6YI=&EO;G,- M"G1Y<&5D968@<W1D.CIB87-I8U]F:6QE8G5F/"!40TA!4B ^('1F:6QE8G5F M.PT*='EP961E9B!S=&0Z.F)A<VEC7V9S=')E86T\(%1#2$%2([EMAIL PROTECTED]&9S=')E M86T[#0IT>7!E9&5F('-T9#HZ8F%S:6-?:69S=')E86T\(%1#2$%2([EMAIL PROTECTED]&EF M<W1R96%M.PT*='EP961E9B!S=&0Z.F)A<VEC7V]F<W1R96%M/"!40TA!4B ^ M('1O9G-T<F5A;3L-"@T*+R\@/&EO<[EMAIL PROTECTED]&5F:6YI=&EO;G,-"G1Y<&5D968@ M<W1D.CIB87-I8U]I;W,\(%1#2$%2([EMAIL PROTECTED]&EO<SL-"@T*+R\@/'-T<F5A;6)U [EMAIL PROTECTED]&5F:6YI=&EO;G,-"G1Y<&5D968@<W1D.CIB87-I8U]S=')E86UB=68\ M(%1#2$%2([EMAIL PROTECTED]'-T<F5A;6)U9CL-"@T*+R\@/&ES=')E86T^(&1E9FEN:71I M;VYS#0IT>7!E9&5F('-T9#HZ8F%S:6-?:7-T<F5A;[EMAIL PROTECTED](05(@/B!T:7-T M<F5A;3L-"G1Y<&5D968@<W1D.CIB87-I8U]I;W-T<F5A;[EMAIL PROTECTED](05(@/B!T M:6]S=')E86T[#0H-"B\O(#QO<W1R96%M/B!D969I;FET:6]N<PT*='EP961E M9B!S=&0Z.F)A<VEC7V]S=')E86T\(%1#2$%2([EMAIL PROTECTED]&]S=')E86T[#0H-"B\O M(#QS<W1R96%M/B!D969I;FET:6]N<PT*='EP961E9B!S=&0Z.F)A<VEC7W-T M<FEN9V)[EMAIL PROTECTED](05(@/B!T<W1R:6YG8G5F.PT*='EP961E9B!S=&0Z.F)A M<VEC7VES=')I;F=S=')E86T\(%1#2$%2([EMAIL PROTECTED]&ES=')I;F=S=')E86T[#0IT M>7!E9&5F('-T9#HZ8F%S:6-?;W-T<FEN9W-T<F5A;[EMAIL PROTECTED](05(@/B!T;W-T M<FEN9W-T<F5A;3L-"G1Y<&5D968@<W1D.CIB87-I8U]S=')I;F=S=')E86T\ M(%1#2$%2([EMAIL PROTECTED]'-T<FEN9W-T<F5A;3L-"@T*(V5N9&EF#0H-"B\O(#QS=')I M;F<^(&1E9FEN:71I;VYS#0IT>7!E9&5F('-T9#HZ8VAA<E]T<F%I=',\(%1# M2$%2([EMAIL PROTECTED]&-H87)?=')A:71S.PT*='EP961E9B!S=&0Z.F)A<VEC7W-T<FEN [EMAIL PROTECTED](05(@/B!T<W1R:6YG.PT*#0HC96YD:68-"@`` ` end
