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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 20:13   #1
Peperovich
Пользователь
 
Регистрация: 29.01.2009
Сообщений: 20
По умолчанию Переместить слова в начало строки

Добрый день! Дана строка CString типа, перем m_f и m_last указывают диапазон слов, которые надо перенести в начало строки.
Код:
 int i,i1;
 char *tot;
 char *str,*str3,*str2, *str4;
 str2=" ";
 str3=" ";
 str4=" "; 
 i=0;
 i1=0;
 
  str=id1.GetBuffer();
//делаю копию так как после 1 разбивания на лексемы str будет состоять из 1 слова
  str2=str;
  tot=strtok(str," ");
  
  while (tot!=NULL)
  {
	tot=strtok(NULL," ");
	i++;
  }
  i1=0;
  tot=strtok(str2," ");
  i1=1;
  while (tot!=NULL)
  {
//если попадает в диапазон то записываю в str3 иначе в str4
     if (i1>=m_f && i1<=m_last) strcpy(str3,tot);
     else strcpy(str4,tot);
	tot=strtok(NULL," ");
	i1++;
  }
//соединяю строки
strcat(str3,str4);
Почему то вызывает ошибку Нарушение прав доступа при записи

Последний раз редактировалось Peperovich; 25.12.2011 в 20:16.
Peperovich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Начало каждой строки таблицы с новой страницы kcgmizin Microsoft Office Word 5 25.06.2010 18:02
Функция дописывающая слово в начало строки. COCOSS Помощь студентам 11 31.05.2010 10:39
переместить память из TMemoryStream в промежуточный буфер и в буфере найти слова Дядя Фёдор Общие вопросы Delphi 2 02.10.2007 00:20