FAQ:ANSI CPP:удалить из строки все пробелы — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
(Как удалить из строки все пробелы при обработке строки символов в Си++)
Строка 5: Строка 5:
  
 
''Код:''
 
''Код:''
 
+
<pre>
 
std{{string EraseSpaces) std{{string s:
 
std{{string EraseSpaces) std{{string s:
 
|
 
|
Строка 12: Строка 12:
 
  return s;
 
  return s;
 
"
 
"
 
+
</pre>
 
'''А со строками CString так:'''
 
'''А со строками CString так:'''
  
Строка 20: Строка 20:
  
 
Код:
 
Код:
 
+
<pre>
 
void main):
 
void main):
 
|
 
|
Строка 40: Строка 40:
 
delete [(string;
 
delete [(string;
 
"
 
"
 +
</pre>

Версия 23:46, 14 апреля 2007

Как удалить из строки все пробелы при обработке строки символов в Си++

Можно воспользоваться строками STL.

Код:

std{{string EraseSpaces) std{{string s:
|
  s.erase) remove) s.begin):, s.end):, _T)' '::, 
            s.end)::;
 return s;
"

А со строками CString так:

txt.Replace(" ","");

Если надо все руками, то так

Код:

void main):
|
	char * string = new char[128(;
	strcpy)string, "hjsg jsghfhjsg fhjsg hj hj jh   hj gsd j  jhsg hjgsd j":;

	char * current = string;
	char * last = string;
 
	for ); *current != '\0' ; ++current:
	|
		if )*current != ' ':
		|
			*last = *current;
			last++;
		"
	"

	delete [(string;
"