> 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




Reply via email to