青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 17,  comments - 2,  trackbacks - 0


System::String -> std::string
A reader asks,
 
Sender: Erik Brendengen
 
Is there an easy way to convert from String^ to std::string?
             Does String ^s = std::string( “bla”).c_str(); work the other way?
 
This is a FAQ, one that I myself bumped into when I had to pass a System::String retrieved from System::Windows::Forms::TextBox to a native program that expected a std::string.
 
There are generally two conversion strategies, depending on which side of the managed/native fence you wish to do the conversion work. Here are two methods making use of the PtrToStringChars( String^ ) utility from the vcclr.h header file that is part of Visual C++. Note that these are written in the new C++/CLI syntax – and that these are adapted from an internal FAQ ...
 
#include <stdlib.h>
#include <vcclr.h>
#include <string>
using namespace System;
 
bool To_CharStar( String^ source, char*& target )
{
    pin_ptr<const wchar_t> wch = PtrToStringChars( source );
    int len = (( source->Length+1) * 2);
    target = new char[ len ];
    return wcstombs( target, wch, len ) != -1;
}
 
bool To_string( String^ source, string &target )
{
    pin_ptr<const wchar_t> wch = PtrToStringChars( source );
    int len = (( source->Length+1) * 2);
    char *ch = new char[ len ];
    bool result = wcstombs( ch, wch, len ) != -1;
    target = ch;
    delete ch;
    return result;
}
 
As to the second question, does String^ s = ns.c_str() work? Yes.
Published Wednesday, June 02, 2004 2:56 PM by slippman
Comments
 
Are there any plans to, ahem, extend std::string to include constructors and extraction methods for String^, like ATL::CString currently has? 
As a sidenote, this is not the first time I find myself wanting one or two features from CString in std::string, to make the decision for which of the two classes to use for a native Windows C++ application a bit easier... 
Either way, I'm really looking forward to the new C++/CLI. Actually, the /clr switch works amazingly well even today.
June 3, 2004 10:27 AM
 
In Whidbey we'll be supplying much more direct approach to do this type of marshalling via a library. 

void F( String^ s ) 

string s1 = marshal_to<string>( s ); 
String^ s2 = marshal_to<String^>( s1 ); 


If you already have a char*, and want to get a System::String from it, all you have to do is this: 

void F( const char* s ) 

String^ s1 = gcnew String( s ); 
}
June 4, 2004 3:01 PM
 
as david larsson's ahem indicates, extending the standard ISO-C++ string independent of a standard's body is, i think, unlikely at this point. however, as anson's mail indicates, there is lots of thought being given on how to help users interoperate between the native and managed platforms, and david's request for support in this is not at all unreasonable.
June 17, 2004 9:26 AM
 
Yves Dolce -- the conscience of the blogs -- rightly pointed out that they two conversion samples needlessly prolong the pinning of the internal System::Char array of the String, and has proposed the following preferred alternatives, 

bool To_CharStar( String^ source, char*& target ) 



int len = (( source->Length+1) * 2); 

target = new char[ len ]; 

pin_ptr<const wchar_t> wch = PtrToStringChars( source ); 

return wcstombs( target, wch, len ) != -1; 





bool To_string( String^ source, string &target ) 



int len = (( source->Length+1) * 2); 

char *ch = new char[ len ]; 

bool result ; 



pin_ptr<const wchar_t> wch = PtrToStringChars( source ); 

result = wcstombs( ch, wch, len ) != -1; 



target = ch; 

delete ch; 

return result; 



June 17, 2004 12:16 PM
 
In To_string(), shouldn't 

delete ch; 

actually be 

delete[] ch; 

Since you're allocating an array, you really should use the array deletion expression...
July 2, 2004 5:00 AM
 
you are correct. it is a bad habit for an old dog who was programming with the language before this was added, and of course in current implementations, its absence is actually both non-fatal and possibly more efficient.
July 7, 2004 11:39 AM
Anonymous comments are disabled
posted on 2008-11-06 17:31 BeyondCN 閱讀(4658) 評(píng)論(1)  編輯 收藏 引用 所屬分類: .NET
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲黄色成人网| 亚洲美女网站| 国产精品久久久久久五月尺| 久久精品首页| 欧美三级电影一区| 亚洲日本成人女熟在线观看| 韩国在线视频一区| 亚洲欧美日本伦理| 亚洲一卡久久| 欧美日本国产精品| 亚洲国产三级在线| 亚洲激情综合| 久久久久免费视频| 久久久精品国产免大香伊| 国产精品女主播在线观看| 99视频精品在线| 亚洲精品一区二区三区不| 久久久一区二区三区| 久久久国产精彩视频美女艺术照福利| 国产精品久久久久久久久久免费看 | 欧美精品一区二区精品网| 久久青草福利网站| 国内精品久久久久久影视8| 亚洲午夜电影在线观看| 亚洲一区二区视频在线| 欧美精品一区二区三区在线播放 | 久久夜色精品国产欧美乱极品| 久久激情五月丁香伊人| 国产情人综合久久777777| 欧美亚洲免费电影| 久久久亚洲一区| 伊人精品成人久久综合软件| 欧美一级电影久久| 麻豆国产精品va在线观看不卡| 国产自产女人91一区在线观看| 欧美在线不卡视频| 久久躁狠狠躁夜夜爽| 亚洲第一精品夜夜躁人人爽| 免费亚洲电影| 亚洲免费电影在线| 亚洲欧美激情四射在线日| 国产视频精品xxxx| 另类国产ts人妖高潮视频| 亚洲国产专区| 午夜精品久久久| 韩国免费一区| 欧美成人亚洲| 亚洲天堂免费观看| 久久女同互慰一区二区三区| 在线观看成人小视频| 欧美—级在线免费片| 亚洲午夜一区| 免费久久99精品国产自在现线| 亚洲激情网址| 国产精品试看| 久久综合久久久久88| 9久草视频在线视频精品| 欧美中文日韩| 日韩视频在线一区二区三区| 国产精品网站视频| 久久久久久久综合色一本| 亚洲精品一二三| 久久日韩粉嫩一区二区三区| aaa亚洲精品一二三区| 国产美女精品一区二区三区| 久热re这里精品视频在线6| 亚洲美女免费精品视频在线观看| 欧美在线免费播放| 一本久久a久久免费精品不卡| 国产精自产拍久久久久久| 免费在线一区二区| 午夜精品短视频| 亚洲精品一二三| 久久午夜电影网| 亚洲欧美日韩国产综合精品二区| 一区二区在线视频播放| 国产精品成人v| 久久综合九色99| 欧美在线视频免费| 中文av字幕一区| 91久久国产综合久久蜜月精品 | 国内伊人久久久久久网站视频| 欧美—级a级欧美特级ar全黄| 香蕉久久夜色精品国产| 99国产精品99久久久久久| 免费人成精品欧美精品| 欧美一区二区私人影院日本| 99re这里只有精品6| 亚洲福利电影| 国产亚洲成av人片在线观看桃| 欧美日韩美女| 噜噜噜噜噜久久久久久91| 久久电影一区| 性做久久久久久久免费看| 一区二区三区不卡视频在线观看| 欧美大尺度在线观看| 久久人人爽人人爽| 久久精品99| 欧美在线播放高清精品| 亚洲愉拍自拍另类高清精品| 亚洲精品资源美女情侣酒店| 亚洲国产成人精品久久久国产成人一区 | 正在播放亚洲一区| 99视频+国产日韩欧美| 亚洲人成在线影院| 亚洲激情另类| 亚洲伦理在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲欧洲日产国产网站| 亚洲国产女人aaa毛片在线| 亚洲国产精品va在看黑人| 精品91在线| 亚洲国产一区在线| 91久久久久久久久久久久久| 亚洲黄色免费| 亚洲另类一区二区| 国产精品99久久久久久久久久久久 | 狠狠色综合网| 亚洲国产精品123| 亚洲精品乱码久久久久久按摩观| 亚洲精品精选| 一本综合精品| 欧美一区二区三区视频在线 | 久久亚洲一区二区| 免费久久99精品国产| 欧美高清视频免费观看| 欧美日韩精品| 国产欧美日韩视频| 在线观看欧美日本| 一本色道久久88亚洲综合88| 亚洲女人小视频在线观看| 久久精品99国产精品酒店日本| 久久亚洲免费| 亚洲茄子视频| 亚洲欧美日韩系列| 久久香蕉精品| 欧美日产一区二区三区在线观看| 国产精品国产精品国产专区不蜜| 国产欧美一区二区三区沐欲| 在线播放视频一区| 亚洲一区二区三区欧美| 久久精品一区二区三区不卡牛牛| 欧美韩国日本一区| 亚洲丝袜av一区| 另类综合日韩欧美亚洲| 欧美午夜一区二区| 伊人伊人伊人久久| 亚洲永久免费av| 欧美成人国产va精品日本一级| 99精品热6080yy久久| 久久久99爱| 欧美视频日韩视频在线观看| 国产亚洲精品高潮| 中文精品99久久国产香蕉| 久久久蜜桃一区二区人| 亚洲精品一区二区在线| 久久精品国产免费观看| 欧美午夜在线观看| 亚洲国产99| 久久精品理论片| 亚洲精品免费在线| 久久激五月天综合精品| 欧美三级第一页| 亚洲人成亚洲人成在线观看| 欧美在线观看一区| 亚洲精品在线观| 免费视频一区二区三区在线观看| 国产精品永久| 亚洲午夜精品一区二区| 欧美福利专区| 久久久.com| 国模精品一区二区三区| 亚洲一区二区三区视频播放| 亚洲福利av| 久久亚洲视频| 狠狠久久亚洲欧美| 欧美自拍丝袜亚洲| 一区二区高清视频| 欧美精品在线观看| 亚洲人体影院| 欧美大片网址| 久久久久久夜| 韩国成人精品a∨在线观看| 亚洲在线视频一区| 日韩天天综合| 欧美日韩在线观看视频| 夜夜嗨av一区二区三区网页 | 99re热这里只有精品免费视频| 久久综合狠狠综合久久激情| 狠狠综合久久av一区二区老牛| 久久久精品欧美丰满| 欧美一级播放| 国产在线不卡| 免费在线观看成人av| 久久久国产一区二区| 国产亚洲福利社区一区| 久久久亚洲一区| 老巨人导航500精品| 亚洲国产综合在线看不卡| 亚洲高清免费|