Редактировать: Изменено название, чтобы лучше отражать текущую проблему.Строка дублируется в векторном массиве
Правильно, я знаю, что теперь источник проблемы лежит, это связано с разделяющей текст частью функции. Я помню, что теперь я сделал, я изменил текст разделения, потому что учебник для меня возвращал ошибку.
for(const char *c=text;*c;c++)
{
if(*c=='\n') {
string line;
for(const char *n=start_line;n<c;n++) line.append(1,*n);
lines.push_back(line);
start_line=c+1;
}
}
if(start_line)
{
string line;
for(const char *n=start_line; n < c;n++) line.append(1,*n);
lines.push_back(line);
}
«с» возвращался необъявленная, и нет никакого упоминания любого другого с, так что я предполагаю, что это имеет в виду указатель в цикл выше. Хотя приведите «if (start_line)» в первый блок кода, продолжайте возвращать мне каждый символ в тексте, а не просто все.
Так я изменил код на следующее:
for(const char *c=text;*c;c++)
{
if(*c=='\n')
{
string line;
for(const char *n=start_line;n<c;n++) line.append(1,*n);
lines.push_back(line);
start_line=c+1;
if(start_line)
{
string line;
for(const char *n=start_line;n<c;n++) line.append(1,*n);
lines.push_back(line);
}
}
else if (*c == *start_line)
{
lines.push_back(text);
}
}
Я уверен, что «иначе если (* в == * start_line)» сравнительное это то, что вызывает у меня вопрос. Не уверен, хотя что заменить его. Я думаю, хотя, потому что я не использую никаких новые строки или не планирую я могу просто пойти с:
for(const char *c=text;*c;c++)
{
lines.push_back(text);
break;
}
Но все равно было бы неплохо бы знать, я собирался не так. * Примечание: что приведенный выше код работает отлично, нет проблемы с этим и эффекта удвоения. Поэтому я уверен, что это был мой код разделения текста.
Изображение довольно маленькое - честно говоря, я не вижу проблемы:/Просто замечание: вы уверены, что не используете буфер глубины? –
@cli_hlt Вы можете просматривать изображения при полном разрешении одним щелчком мыши -> просмотреть изображение (или скопировать местоположение изображения и вставить URL-адрес в окно или вкладку по вашему выбору). – 01d55
@ 01d55 ой хорошо благодаря вам - немой мне. Поэтому я иду с вашим ответом - кажется, лучше всего угадать информацию, которую мы имеем. +1 –