Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
20 / 20 / 22
Регистрация: 01.01.2011
Сообщений: 198
1

Строки (добавляет какие-то непонятные символы)

09.01.2014, 21:44. Просмотров 2115. Ответов 4

Есть функция, которая возвращает строку.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char *create_string(int Q1, int Q2, int Q3, int S1, int S2, int S3, float T)
{
int Q[3];
int S[3];
Q[0]=Q1; Q[1]=Q2; Q[2]=Q3;
S[0]=S1; S[1]=S2; S[2]=S3;
char *f=new char[50];
for (int i=0;i<3;i++)
{
strcat(f,"#");
strcat(f,to_char(S[i]));
strcat(f,"P");
strcat(f,to_char(Q[i]));
}
strcat(f,"T");
strcat(f,to_char(T));
strcat(f,"\n\r");
return f;
}
Все в порядке, только в начале результирющей строки она добавляет какие-то непонятные символы. В результате получается строка вида
8³»r#24P1668#25P1709#26P2121T2
а должна быть такая:
#24P1668#25P1709#26P2121T2

Что я делаю не так?
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2014, 21:44
Ответы с готовыми решениями:

При работе с программой выдает не результат, а какие то непонятные символы
Вот скриншот: Собственно что это и как убрать ?

Почему при попытки считывания выдаёт какие-то непонятные символы, а не те, которые требовались?
#include &lt;cstdio&gt; #include &lt;iostream&gt; using std::cout; using std::cin; using std::endl; int...

Сервер в конце сообщения добавляет непонятные мне символы
После того, как серверу были посланы заголовки от браузера, он, вернув функции recv() код...

какие то непонятные символы
Hitachi HDT725032VLA360 ATA Device при загрузке выдаёт непонятные символы.Как с этим...

4
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
09.01.2014, 21:49 2
В буфере f находится "мусор". Когда первый раз вызывается strcat, он
прибавляет строку к этому мусору.
0
20 / 20 / 22
Регистрация: 01.01.2011
Сообщений: 198
09.01.2014, 21:55  [ТС] 3
Цитата Сообщение от Убежденный Посмотреть сообщение
В буфере f находится "мусор". Когда первый раз вызывается strcat, он
прибавляет строку к этому мусору.
когда я делаю так, то сразу выбивает

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
char *create_string(int Q1, int Q2, int Q3, int S1, int S2, int S3, float T)
{
int Q[3];
int S[3];
Q[0]=Q1; Q[1]=Q2; Q[2]=Q3;
S[0]=S1; S[1]=S2; S[2]=S3;
char *f=new char[50];
f=NULL;
for (int i=0;i<3;i++)
{
strcat(f,"#");
strcat(f,to_char(S[i]));
strcat(f,"P");
strcat(f,to_char(Q[i]));
}
strcat(f,"T");
strcat(f,to_char(T));
strcat(f,"\n\r");
return f;
}
0
:)
Эксперт С++
4764 / 3258 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
09.01.2014, 21:57 4
mr. Spock, не
C++
1
f=NULL;
а
C++
1
*f = 0;
или
вместо
C++
1
strcat(f,"#");
написать
C++
1
strcpy(f,"#");
P.S. с strcpy() погорячился. Не заметил сразу, что это в цикле.
Поэтому еще могу предложить вариант написать до цикла такое:
C++
1
strcpy(f,"");
1
20 / 20 / 22
Регистрация: 01.01.2011
Сообщений: 198
09.01.2014, 22:08  [ТС] 5
все, идеально.
спасибо)))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2014, 22:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Непонятные символы.(Строки и указатели).
Добрый вечер. Задание - Написать программу получения строки, в которой удалены все “лишние”...

Непонятные символы при возврате строки из функции
Всем привет! Работаю с &quot;NVAPI&quot; (Библиотека, которая позволяет работать с видеокартами NVIDIA). В...

Непонятные символы в начале строки в ответе от сервера
Есть скрипт который выдает json-строку, но в самом начале ее есть невидимые в браузере символы, с...

Написал код, который ревёрсает массив чаров, но в терминале всплывают непонятные символы помимо ревёрснутой строки
Кто-то знает с чем это связано? Интересно так-то. Вот мой код: #include &lt;stdio.h&gt; #define FALSE...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.