Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 129
от 16.06.2005, 06:20

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос № 22003: Здравствуйте Эксперты, хотелось бы узнать : у меня есть : AnsiString VALUE= "THIS IS TEST VALUE"; как сделать чтобы VALUE было = "THIS%20IS%20SET%20VALUE"; То есть не самому написать , т.к. переменная не постоянна...

Вопрос № 22.003

Здравствуйте Эксперты, хотелось бы узнать :
у меня есть : AnsiString VALUE= "THIS IS TEST VALUE";
как сделать чтобы VALUE было = "THIS%20IS%20SET%20VALUE";
То есть не самому написать , т.к. переменная не постоянна , а чтобы программа сама обрабатывала переменную
Заранее огромное спасибо
Отправлен: 10.06.2005, 08:01
Вопрос задал: ДимооН :) (статус: 1-ый класс)
Всего ответов отправлено: 3

Отвечает: Jadd
Здравствуйте, ДимооН :)!
Ты, паразит, поставил мне прошлый раз 2-ку не знама за что. Хоть бы спасибо сказал, что я тебе на твои ошибки указал и объяснил :<. Ну ладно, время линчевания прошло. Теперь по существу. Берешь свою строку. И в цикле обрабатываешь на нахождение пробелов:
AnsiString strValue; //инициализацию пропустим будем считать, что строка заполнена каким-то значением
//дальше берем символ по индексу
for (int i=0; i < strValue.Length(); i++)
{
if (strValue[i] == " ")
{
strValue[i] = "%20";
}
}
вот и все.
---------
Hakuna matata
Ответ отправил: Jadd (статус: 9-ый класс)
Отправлен: 10.06.2005, 10:10
Оценка за ответ: 5
Комментарий оценки:
Оки , благодарю.... Про двойку... мыло не всегда я снимаю извини )) Вот тебе Пятак ))

Отвечает: Rusland
Здравствуйте, ДимооН :)!
Если тебе необходима строка понятная для браузера, то в CBuilder-е есть библиотека httpapp (в проект просто нужно подключить #include <httpapp.hpp>), в которой реализованы функции HTTPEncode и HTTPDecode. Они позволяют осуществлять такой перевод в обе стороны.
Удачи.

Приложение:

Ответ отправил: Rusland (статус: 5-ый класс)
Отправлен: 10.06.2005, 10:57

Отвечает: yatagan
Здравствуйте, ДимооН :)!
я не знаю шо такое AnsiString ... наверно строка какая-то навороченая... но это от лукавого -- надо пользоваться стандартной библиотекой STL. там есть тип, описывающий строку - string называется. никакой CString с ним не сравнится......
да, так вот.... в общем задача однозначного решения не имеет, вот как я себе это представляю:
#include <string>
#include <iostream>
using namespace std;
//ф-ция замены
void replace(string &str)
{
//длина строки
int length = str.length();
for (int i = 0; i < length; i++)
if (str[i] == ' ') //если пробел, то
{
//удаляем пробел
str.erase(i, 1);
//вставлям то шо надо
str.insert(i, "%20");
}
}
main()
{
string str = "THIS IS TEST VALUE";
cout << str << endl;
replace(str);
cout << str << endl;
}
вроде работает - если шо не ясно - спрашивай...
---------
Україна понад усе!
Ответ отправил: yatagan (статус: 1-ый класс)
Отправлен: 10.06.2005, 15:32
Оценка за ответ: 4
Комментарий оценки:
ясно всё , но я уже получил более Хороший ответ ) Спасибо )) Четыре тебе )


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться
Вспомнить пароль

В избранное