Click here to Skip to main content
11,645,349 members (79,842 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: MFC Python CString BSTR
how to pass two dimensional CString array from MFC to python
Posted 30-Sep-11 0:57am
Edited 30-Sep-11 5: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 at 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 at 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 at 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 at 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 814
1 OriginalGriff 650
2 Sergey Alexandrovich Kryukov 438
3 CPallini 436
4 Afzaal Ahmad Zeeshan 418
0 OriginalGriff 1,065
1 Sergey Alexandrovich Kryukov 703
2 Afzaal Ahmad Zeeshan 702
3 DamithSL 681
4 CPallini 595

Advertise | Privacy | Mobile
Web01 | 2.8.150731.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