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

Как найти строку которая перед "=" и после - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как приведенный код выводит ближайшую степень двойки? Разобрать работу программы http://www.cyberforum.ru/cpp-beginners/thread1079159.html
unsigned k ; cin>>k; for (--k;k&(k+1);k|=k+1); cout<<++k; вот есть программа?что она делает - я знаю(выводит ближайшую степень двойки). что мне нужно? - как она это делает? ну т.е. прям...
C++ Определить количество слов, начинаются и заканчиваются одной и той же буквой Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, начинаются и заканчиваются одной и той же буквой. http://www.cyberforum.ru/cpp-beginners/thread1079147.html
C++ Дана строка. Подсчитать количество цифр, содержащихся в ней
Дана строка. Подсчитать количество цифр, содержащихся в ней.
Выяснить, которых больше символов '+' или '*'. C++
Дано натуральное число n и символы s1, s2, ..., sn. Выяснить, которых больше символов '+' или '*'.
C++ Определить, есть ли в матрице нулевые элементы http://www.cyberforum.ru/cpp-beginners/thread1079143.html
Доброго времени суток. У меня задание на поиск присутствия нулевых элементов в матрице. Вот код: #include <iostream> using namespace std; int i,j; bool solve(double **a, int n, int m) { bool...
C++ Необходимо организовать однонаправлений список структурой, и предусмотреть следующие действия : В работе необходимо организовать однонапрямлений список структурой, и предусмотреть следующие действия : - добавление элементов в список; - исключение элементов из списка; - добавление элементов... подробнее

Показать сообщение отдельно
gazlan
3132 / 1908 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
23.01.2014, 13:42
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
bool Jammer(char* pSrc,int& riSize)
{
   if (IsBadReadPtr(pSrc,riSize))
   {
      // Error !
      return false; 
   }
 
   for (int ii = 0; ii < riSize; ++ii)
   {  
      switch (pSrc[ii])
      {
         case '\t':  // Replace Tabs with Space
         {
            pSrc[ii] = ' ';
            break;
         }
         case '\r':  // Replace CR with Space
         {
            pSrc[ii] = ' ';
            break;
         }
         case '\n':  // Replace LF with Space
         {
            pSrc[ii] = ' ';
            break;
         }
         default:
         {
            // Do nothing !
            break;
         }
      }
   }
   
   // Remove Leading Spaces
   char*    pBegin = pSrc;
 
   while (pBegin && *pBegin == ' ' && riSize)
   {
      ++pBegin;
      --riSize;
   }
 
   char*    pEnd = pBegin + riSize - 1; 
 
   // Proceed trailing zeros if any
   while (!*pEnd && riSize)
   {
      --pEnd;
      --riSize;
   }
 
   // Remove Trailing Spaces
   while (pEnd && *pEnd == ' ' && riSize)
   {
      --pEnd;
      --riSize;
   }
 
   char*    pTemp = new char[riSize + 1];
 
   if (!pTemp)
   {
      // Error !
      return false; 
   }
 
   memset(pTemp,0,riSize);
 
   int      jj = 0;
 
   for (ii = 0; ii < riSize; ++ii)
   {
      // Remove Duplicated Spaces
      if (pBegin[ii] == ' ')
      {
         // Very first - just copy
         pTemp[jj++] = pBegin[ii++];                   
 
         while (pBegin[ii] == ' ')
         {
            ++ii;  // Skip !
         }
      }
 
      // Just Copy
      pTemp[jj++] = pBegin[ii]; 
      pTemp[jj]   = 0;    // ASCIIZ
   }
 
   riSize    = jj;
   pTemp[jj] = 0;    // ASCIIZ
 
   memcpy(pSrc,pTemp,riSize + 1);   // With trailing ZERO !
 
   delete pTemp;
   pTemp = NULL;
 
   return true;
}
Добавлено через 28 минут
Поправил ваш вариант.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
static bool TrimString(char* pszInput)
{
   if (!pszInput || !*pszInput)
   {
      // Nothing to do !
      return false;
   }
 
   int   iSkip = 0;
 
   while (isspace(pszInput[iSkip]))
   {
      ++iSkip;
   }
 
   int   iLen = strlen(pszInput);
 
   memmove(pszInput,&pszInput[iSkip],iLen - iSkip);
 
   int   iLast = strlen(pszInput) - 1;
 
   while ((iLast >= 0) && (isspace(pszInput[iLast])))
   {
      pszInput[iLast--] = 0;
   }
 
   return true;
}
 
int main(int argc,char** argv)
{
   char  pszTest[MAX_PATH + 1];
 
   strcpy(pszTest,"   test   ");
 
   TrimString(pszTest);
 
   return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru