Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2011, 20:28   #1
Rexonik
Новичок
Джуниор
 
Регистрация: 04.12.2011
Сообщений: 9
По умолчанию в чем ошибка?

вот код программы(обрабатывается при нажатии кнопки):
Код:
String ^s = System::IO::File::ReadAllText("1.txt");
				 String ^d = Convert::ToString(textBox1->Text);
				 int SC = s->Length;
				 int i;
				 for(i=0; i<SC; i++)
				 {
					 if(s[i]="a")
					 {
						 s->Insert(i, d);
					 }
				 }
				 textBox2->Text = ""+s;
В идеале мне нужно чтобы после каждого символа "а" в строке s вставляло строку d. Помогите, пожалуйста найти ошибку...
Вот что мне выдает компилятор

error C3070: 'System::String:efault': property does not have a 'set' method

на вот этом месте:
Код:
if(s[i]="a")
Работаю в Microsoft Visual C++ 2008.
Rexonik вне форума Ответить с цитированием
Старый 05.12.2011, 20:30   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну вообще то сравнение это ==, а не =.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.12.2011, 20:32   #3
Rexonik
Новичок
Джуниор
 
Регистрация: 04.12.2011
Сообщений: 9
По умолчанию

Если ставлю == вместо = получаю:

error C2040: '==' : 'int' differs in levels of indirection from 'const char [2]'
error C2446: '==' : no conversion from 'const char *' to 'int'
Rexonik вне форума Ответить с цитированием
Старый 05.12.2011, 20:39   #4
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Цитата:
Сообщение от Rexonik Посмотреть сообщение
Если ставлю == вместо = получаю:

error C2040: '==' : 'int' differs in levels of indirection from 'const char [2]'
error C2446: '==' : no conversion from 'const char *' to 'int'
Надо писать не

Код:
if(s[i]="a")
и не

Код:
if(s[i]=="a")
а

Код:
if( s[i] == 'a' )
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Старый 05.12.2011, 20:42   #5
Rexonik
Новичок
Джуниор
 
Регистрация: 04.12.2011
Сообщений: 9
По умолчанию

А как от этого избавиться?
error C3070: 'System::String:efault': property does not have a 'set' method
З.Ы: Спасибо) написанная выше ошибка исчезла... но вот вставлять строку d после каждого символа а в строке s все равно не хочет... как описать сам процесс вставки? Можеь быть существует какая-то специальная функция для этого? пробовал Insert... не работает. Хотя может я его неправильно использую?
Код:
s->Insert(i, d);
-> вставить d после i-го символа.

УРА! Ребята, заработало) методом тыка я все-таки сделал) я немного неправильно использовал Insert. Всем огромное спасибо, без вашей помощи я бы не справился!

Последний раз редактировалось Rexonik; 05.12.2011 в 21:02.
Rexonik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чем ошибка? gylayko Помощь студентам 4 26.09.2011 15:07
В чем ошибка!? Файзулка Помощь студентам 5 17.01.2011 10:27
В чем ошибка? bwitcher Помощь студентам 8 11.12.2010 14:46
В чем ошибка? KISSkaэсМЕральда Помощь студентам 0 07.11.2010 12:40