Форум программистов, компьютерный форум CyberForum.ru

Не работает код по замене строки - C++

Восстановить пароль Регистрация
 
nill
8 / 8 / 0
Регистрация: 16.08.2009
Сообщений: 417
03.02.2012, 14:41     Не работает код по замене строки #1
Есть такой код (не мой)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      
 char            strQry[2000] = {0}, strQry1[2000] = {0}, strQry2[2000] = {0};
 const char      *n = NULL;
 int siteid=100;  char siteidstr[5] = {0};
 
 // Insert the site id in the query string
                sprintf_s(siteidstr, 5, "%d", siteid);
                strcpy_s(strQry1, 2000, strQry);  // move the query into temp str 1
                while ((n=strstr(strQry1, "'%SITEID%'"))!=NULL)   // find the token in temp str 1
                {
                        strcpy_s(strQry2, 2000, strQry1);  // move the query into temp str 2
                        strQry2[n-strQry1]='\0';  // cut off temp str 2 at the beginning of the token
                        strcat_s(strQry2, 2000, siteidstr);  // append the site id to temp str 2
                        strcat_s(strQry2, 2000, n+8); // append the portion of temp str 1 after the token to temp str 2
                        strcpy_s(strQry, 2000, strQry2); // move temp str 2 into the original query
                        strcpy_s(strQry1, 2000, strQry);  // move the query into temp str 1
                }
Он должен искать в массиве char слово '%SITEID%' включая однойные кавычки и заменять его на число
которое береться из переменной int siteid
Но он после замены оставляет %' сразу после замененного слова

то есть после замены в char должно остаться просто 100, а остается 100%'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2012, 14:41     Не работает код по замене строки
Посмотрите здесь:

Код не работает C++
C++ Прога по замене одной точки тремя
C++ Код не работает.
C++ Код не работает в VC++ 6.0 но работает в MSVC++ 2010
C++ Не работает код!
std::string код работает в VS 6.0, но не работает в VS2012 (error C4996) C++
C++ Ошибка в замене символа
C++ Сравнить строки используя указатели , не работает код

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru