2016-04-10 19 views
-3

このコードでは、メッセージ配列の最後に表示されている不要な文字を削除する方法がわかりません。私のコードの残りの部分のために、私はcharを使用することが必須であり、文字列を使用することはできません。 recvbufは、それはあなたがこのコードを実装するための文字列を使用することをお勧めしますが、問題は手動であなたのchar配列の末尾にヌル文字\0を追加することによって固定することができる。また、CHAR * recvbuf =新しい文字文字の末尾にある不要な文字を削除する

   char* message=new char[140]; 
       for (int i=1; i<141; i++){ 
        message[i-1]=recvbuf[i]; 
       } 
       printf("Message: %s\n", message); 
       delete[]recvbuf; 

答えて

0

です。

char* message=new char[141]; 
    for (int i=1; i<141; i++){ 
     message[i-1]=recvbuf[i]; 
    } 
    message[140] = '\0'; //newly introduced line. 
    printf("Message: %s\n", message); 
    delete[]recvbuf; 

注1:配列のサイズが、最後に\0文字用のスペースを確保するために、初期化時に141から140から増加した
あなたはとしてそれを導入することができます。

乾杯!

関連する問題