0 / 0 / 1
Регистрация: 22.11.2014
Сообщений: 170
1

Функция переводит на новую строку

17.12.2017, 13:05. Показов 624. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Наткнулся на функцию, которая отправляет сообщение пользователю с определенным именем (для чата на сокетах)

Но функция печает сообщения от пробела до пробела, то есть вместо
Bash
1
[user_1]: test message
это
Bash
1
2
[user_1]: test
[user_1]: message
C++
1
2
3
4
5
6
7
8
9
struct PACKET {
    char option[OPTLEN]; // instruction
    char alias[ALIASLEN]; // client's alias
    char buff[BUFFSIZE]; // payload
}
...
//считываем temp, считывыем message
sendtoalias(&me, temp, message);
...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void sendtoalias(struct USER *me, char *target, char *msg) {
    int sent, targetlen;
    struct PACKET packet;
    
    if(target == NULL) {
        return;
    }
    
    if(msg == NULL) {
        return;
    }
    
    if(!isconnected) {
        fprintf(stderr, "You are not connected...\n");
        return;
    }
    msg[BUFFSIZE] = 0;
    targetlen = strlen(target);
    
    memset(&packet, 0, sizeof(struct PACKET));
    strcpy(packet.option, "whisp");
    strcpy(packet.alias, me->alias);
    strcpy(packet.buff, target);
    strcpy(&packet.buff[targetlen], " ");
    strcpy(&packet.buff[targetlen+1], msg);
    
    /* send request to close this connetion */
    sent = send(sockfd, (void *)&packet, sizeof(struct PACKET), 0);
}
Как исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2017, 13:05
Ответы с готовыми решениями:

Не переводит на новую строку!
#include <stdio.h> #include <string.h> int main() { char a,b; //Длинные числа int...

fprintf не переводит на новую строку
fprintf(fz,"%7s|%7s|%7s|%7s|%7s|\n ",Ndv1,Kd1,Mvx1,Nk1,Urash1,Nper1); не хочет переводить на новую...

Acstime переводит на новую строку
Добрый день. Хочу сделать void, который будет печатать цветной текст с временем. Но появилась такая...

Функция получает строку и выводит новую без согласных букв
Всем доброго времени суток! Пример работы : Hello world! -----> eo o Работа со строкой...

1
Модератор
Эксперт С++
13324 / 10628 / 6350
Регистрация: 18.12.2011
Сообщений: 28,379
17.12.2017, 13:21 2
Цитата Сообщение от Timas Посмотреть сообщение
C++
1
2
3
strcpy(packet.buff, target); 
strcpy(&packet.buff[targetlen], " "); 
strcpy(&packet.buff[targetlen+1], msg);
А так:
C++
1
2
3
strcpy(packet.buff, target); 
strcat(packet.buff," "); 
strcat(packet.buff, msg);
1
17.12.2017, 13:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2017, 13:21
Помогаю со студенческими работами здесь

Функция,которая создаёт новую строку,в которой удалены все слова минимальной длины
Здравствуйте. Помогите пожалуйста. на C++ Написать функцию,которая создаёт новую строку,в которой...

Функция, создающая новую строку, скопировав в неё исходную сначала в прямом, а потом в обратном порядке
В функцию передаётся строка произвольной длины. Функция создаёт новую строку, скопировав в неё...

Не переводит на новую строку
Почему сишная функция не хочет переводить текст на новую строку(\n)? szCALL MACRO sz CALL @F...

\n не переводит новую строку после цикла while
Есть рабочая программа, которая проверяет условие не убывания цифр в числе. Для того, чтобы...

ENTER переводит на новую строку только при двойном нажатии в консоле
ENTER переводит на новую строку только при двойном нажатии в консоле, но это если написать такой...

Функция, которая каждую четную строку изображения переводит в градации серого цвета
Разработайте функцию, которая каждую четную строку изображения переводит в градации серого цвета


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru