2016-04-10 6 views
-3

С помощью этого кода ниже я не знаю, как удалить нежелательные символы, появляющиеся в конце массива сообщений. Для меня обязательно использовать char, не использовать строки, из-за остальной части моего кода. recvbuf также символ * 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

Хотя рекомендуется использовать строки для выполнения этого кода, проблема может быть решена вручную, добавляя пустой символ \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: Размер массива был увеличен с 140 до 141 во время инициализации, чтобы освободить место для \0 символа в конце.

Cheers!

Смежные вопросы