0

ref: http://msdn.microsoft.com/en-us/library/windows/desktop/ms740120(v=vs.85).aspxの下部 にある c++ サンプル コード

char RecvBuf[1024];

UDP メッセージを受信するといっぱいになります。string str;関数から文字列を返すことができるように、 std::string 変数に格納するにはどうすればよいですか?

4

1 に答える 1

3

次のコンストラクタを使用しますstd::string

string ( const char * s, size_t n );

基本的にRecvBufは標準(テキスト)の「文字列」であれば作るだけでOK

std::string str( RecvBuf );

しかし、これはヒットcharするまですべての s をコピーします。\0


また、このバッファはソケットから受信した未加工のバイトを格納するため、バイトを期待する必要があり\0ます。

データを受け取ると、そのサイズがわかります。だから、ただ使う

std::string str( RecvBuff, buff_len );
于 2012-10-18T13:16:22.780 に答える