Click here to Skip to main content
11,920,772 members (59,535 online)
Rate this:
Please Sign up or sign in to vote.
See more: MFC Python CString
how to pass two dimensional CString array from MFC to python
Posted 30-Sep-11 1:57am
Edited 30-Sep-11 6:19am
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

CString is a c++ class that is rather specific to the MFC framework (and to ATL, for the nitpicks). Therefore, you cannot send a CString outside of MFC (not even to vanilla C++). Well, technically you can send it, but the recipient will not be able to make any sense out of it.

However, CString does have an AllocSysString()[^] member function that will allocate an automation compatible BSTR type string. The API copies the contents of your CString object into this BSTR and returns it.
Albert Holguin 30-Sep-11 11:07am
Yep, I wouldn't send a CString to an app written in another language, I'd personally go for BSTR or just char* (maybe even std::string)... +5
Espen Harlinn 30-Sep-11 13:31pm
Good point :)
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Since you want to pass information from C++ to python you may want to take a look at Boost.Python[^], a C++ library which enables seamless interoperability between C++ and the Python programming language.

Best regards
Espen Harlinn
Albert Holguin 30-Sep-11 23:42pm
Excellent resource! I didn't even know about this... but I don't use Python... that's my excuse... Boost library has expanded so much over time! +5
Espen Harlinn 1-Oct-11 4:14am
Thank you, Albert!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 548
1 Dave Kreskowiak 245
2 phil.o 170
3 KrunalRohit 134
4 F-ES Sitecore 130
0 OriginalGriff 6,778
1 KrunalRohit 4,530
2 Sergey Alexandrovich Kryukov 3,203
3 George Jonsson 2,815
4 Suvendu Shekhar Giri 2,181

Advertise | Privacy | Mobile
Web02 | 2.8.151120.1 | Last Updated 30 Sep 2011
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100