Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 16.04.2019
Сообщений: 54
1

Не работает функция замены пробелов

26.10.2019, 21:51. Показов 1289. Ответов 3

Author24 — интернет-сервис помощи студентам
Задача следующая: загружаем текст из файла в форму и в нем нужно каждый одиночный пробел заменить 5-ю пробелами
Сама функция:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Space(String ^Z)
        {
            int Found = 0;//для количества пробелов
            while (1)
            {
                Found = My_Str->IndexOf(" ", Found);
                if (Found != -1)//проверяем есть ли пробелы
                {
                    My_Str = My_Str->Insert(Found, "");
                    Found += 5;//добавляем нужное количество для замены(5)
                }
                else break;
            }
Загружаем текст в форму:
C++
1
2
3
4
5
6
7
8
9
10
private: System::Void MyForm_Load(System::Object^  sender, System::EventArgs^  e)//Загружаем текст в richbox
{
    String ^ File_Name;
    // Получить имя файла: файл с именем TextFile находится в директории проекта.
    File_Name = gcnew String("F1.txt");
    StreamReader ^ My_SR = gcnew StreamReader(File_Name);
    // Чтение всего текста.
    My_Str = My_SR->ReadToEnd();
    this->richTextBox1->Text = My_Str;
}
Обработчик события:
C++
1
2
3
4
5
6
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) //замена пробелов
{
    My_Str = this->richTextBox1->Text;
    Space(My_Str);
    this->richTextBox1->Text = My_Str;
}
Текст в форму загружается, но количество пробелов не увеличивается при нажатии на button2.
Ошибки никакие не выдает
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2019, 21:51
Ответы с готовыми решениями:

Если предложение начинается с пробелов, считать строку после пробелов. Правильно ли работает функция?
Скажите пожалуйста правильно ли я написала функцию которая: если предложение начинается с пробелов...

Некорректно работает функция замены
Здравствуйте! Имеется задача: Вводится текст в форму, который шифруется/дешифриуется. Проблема...

Не работает функция замены атрибута jquery
Здравствуйте! На странице есть ссылка и список выбора. <a href="http://mysite.ru" ...

Метод замены пробелов
Необходимо написать метод который заменяет все пробелы символами - . Вроде кое как написал, но при...

3
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
26.10.2019, 22:09 2
alayyy, сразу функцию Replace используйте, если пробелов нет, то и заменять нечего.

Цитата Сообщение от alayyy Посмотреть сообщение
Текст в форму загружается, но количество пробелов не увеличивается при нажатии на button2.
Вы ошибку локализовать не пробовали? Что будет если код из функции Space перенести непосредственно обработчик?
1
0 / 0 / 0
Регистрация: 16.04.2019
Сообщений: 54
26.10.2019, 22:42  [ТС] 3
Нашел ошибку- она была в самой функции в 9 строке
Просто нужно было пробелы в кавычки вставить
C++
1
My_Str = My_Str->Insert(Found, "    ");
Сделал бы через replace, но слабо понимаю, как это сделать, а времени разбираться нету-сроки поджимают
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
27.10.2019, 12:11 4
Лучший ответ Сообщение было отмечено alayyy как решение

Решение

Цитата Сообщение от alayyy Посмотреть сообщение
Сделал бы через replace, но слабо понимаю, как это сделать
C++
1
2
3
4
5
6
7
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) //замена пробелов
{
    My_Str = this->richTextBox1->Text;
    //Space(My_Str);
    My_Str = My_Str->Replace(" ", "     ");
    this->richTextBox1->Text = My_Str;
}
1
27.10.2019, 12:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2019, 12:11
Помогаю со студенческими работами здесь

Не работает функция замены последнего отрицательного элемента в массиве на три элемента, равных заданному значению
//Функция поиска последнего отрицательного элемента в массиве и замена его на три элемента, равных...

Составить программу для замены в тексте пробелов на 0
Составить программу для замены в тексте пробелов на 0

Кто знает как написать прогу замены пробелов на \t
Так звучит задание: Символи новой строки и табуляции в s превратить на видимые последовательности...

Ввести с клавиатуры строку символов. Составить программу для замены в данной строке всех пробелов на символ $
Ввести с клавиатуры строку символов. Составить программу для замены в данной строке всех пробелов...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru