@Tylen

Почему переноситься на следующую строку?

Здравствуйте, пытаюсь вывести дату отправки сообщения в чате, но у меня переноситься на следующую строчку не могу понять почему,уже все перепробывал, проблема именно в это коде,помогите пожалуйста.
Проблемный код:
time_t now = time(0);
			char* dt = ctime(&now);
			string time = string(dt);
			string l = "[";
			string r = "]";
			string timee = l + time + r;
			string f = string(msg);
			f =govno[index]+":"+ f +" "+timee;
			char jopa [256];
			strcpy(jopa, f.c_str());
				send(Connetcions[i], jopa, sizeof(jopa), NULL);

5de4ff39617ef248516757.png
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
KodyWiremane
@KodyWiremane
Пони, Debian, LEMP, LAN, любитель
Это всё из-за govno в коде. Согласно мануалам, ctime возвращает строку с символом перевода строки в конце. Для иного форматирования там же рекомендуется использовать функцию strftime. Ну и после ] переноса не хватает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Тут нет кода вывода на экран.
Возможно ctime() возвращает строку включающую CRLF.
Запустите под отладчиком, поставив точку останова после присваивания timee и посмотрите есть в ее содержимом CRLF. Так же можно поставить снифер, перехватить генерируемый трафик и посмотреть есть ли CRLF в пересылаемой информации.
Если таким образом не найдете CRLF - значит проблема при выводе на экран.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы