Здравствуйте, пишу программу в которой вводиться предложение, выбирается номер слова и количество слов, вывести должна предложение сначала где идут слова без выбранной "кучи" слов, а в конце сама выбранная "куча" слов.
Пример: Миша пошел купить хлеб в магазин.
С 2 слова, 3 слова - получается - Миша в магазин пошел купить хлеб.
Проблема в том что почему то не могу сложить стринги, не знаю почему
проверял, работает все верно, и StrEnd выводит нормально и StrEnd1 (про точки которые еще добавляются - это спец для продолжение проги), но полностью не выводит, в результате их сложение выводит только StrEnd.
Почему так происходит и как исправить?
Пример: Миша пошел купить хлеб в магазин.
С 2 слова, 3 слова - получается - Миша в магазин пошел купить хлеб.
Проблема в том что почему то не могу сложить стринги, не знаю почему
CString str;
CString str3;
CString str4;
CEdit * pEdit1 = (CEdit*)GetDlgItem(IDC_EDIT1);
CEdit * pEdit3 = (CEdit*)GetDlgItem(IDC_EDIT3); // С какого слова начать выбор
CEdit * pEdit4 = (CEdit*)GetDlgItem(IDC_EDIT4); // Сколько слов
CEdit * pEdit2 = (CEdit*)GetDlgItem(IDC_EDIT2); // вывод
pEdit1->GetWindowText(str);
pEdit3->GetWindowText(str3);
pEdit4->GetWindowText(str4);
CString array[50];
CString StrEnd;
CString StrEnd1;
int shet = 0;
char *ch = new char[str.GetLength()+1];
strcpy(ch,str);
for(int j = 1; j < 15; j++){
for(int i = shet; i < (str.GetLength()+1); i++){
///////// 1 var
if(ch[i] == ' ') {
ch[i] = '.';
break;
}
array[j] = array[j] + ch[i]; // кол слов в массиве
shet = shet + 1;
}
}
for(int g = 1; g < shet; g++){
if( g < atoi(str3)) StrEnd = StrEnd + array[g];
if (g > (atoi(str3) + atoi(str4) - 1) )
StrEnd = StrEnd + array[g];
}
for(int n = atoi(str3); n < (atoi(str3) + atoi(str4) ); n++){
StrEnd1 = StrEnd1 + array[n];
}
CString d; // тут даже сделал спец переменную в которую заношу все 2-ва стринга
d = StrEnd + StrEnd1; //выводит только StrEnd
pEdit2 -> SetWindowText(d);
delete []ch;
проверял, работает все верно, и StrEnd выводит нормально и StrEnd1 (про точки которые еще добавляются - это спец для продолжение проги), но полностью не выводит, в результате их сложение выводит только StrEnd.
Почему так происходит и как исправить?

Mitwirkende
pEdit2 -> SetWindowText(d);
Видимо, там либо перевод строки в конце StrEnd, и он у вас
переносит на вторую строку, которую вы не видите,
либо может вообще '\0'