| 
	
		|  Autor | Tema: Como quitar los espacios al inicio y al final de una cadena  (Leído 3,442 veces) |  
	| 
			| 
					
						| pefo 
								
								 Desconectado 
								Mensajes: 4
								
								
								
								
								
								   | 
 
Como puedo quitar los espacios al inicio y al final de una cadena por ejemplo:el usuario introducirá "     ser o no ser     " el programa tiene que regresar la cadena ya sin los espacios del inicio y final "ser o no ser"
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| do-while 
								       
								
								 Desconectado 
								Mensajes: 1.276
								
								 
								¿Habra que sacarla de paseo?
								
								
								
								
								
								   | 
 
¡Buenas!
 Muy facil, mientras el primer caracter sea espacio, retrasas todos los caracteres que haya a continuacion una posicion, y partiendo del final de la cadena buscas el primer caracter que no sea espacio y sustituyes el siguiente por el final de la cadena.
 
 ¡Saludos!
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 - Doctor, confundo los números y los colores.- Vaya marrón.
 - ¿Marrón? ¡Por el culo te la hinco!
 |  |  |  | 
			| 
					
						| leosansan 
								       
								
								 Desconectado 
								Mensajes: 1.314
								
								
								
								
								
								   | 
 
Por ejemplo, así:
 #include <stdio.h>#include <string.h>int main (){    int i=0,j=0,k,l;    char cadena[]={"    ser o no ser   "},cadena2[80];    while (cadena[i]==' ')        i++;    k=strlen  (cadena);    while (cadena[k-j-1]==' ' )        j++;    for (l=i;l<k-j;l++)        cadena2[l-i]=cadena[l];    cadena2[l-i]='\0';    printf("cadena2=%s ",cadena2);    return 0;} 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| djimenez39 
								
								 Desconectado 
								Mensajes: 4
								
								
								
								
								
								   | 
 
// trim from startstatic inline std::string <rim(std::string &s) {
 s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
 return s;
 }
 
 // trim from end
 static inline std::string &rtrim(std::string &s) {
 s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
 return s;
 }
 
 
 
 |  
						| 
								|  |  
								| « Última modificación: 14 Noviembre 2012, 15:35 pm por djimenez39 » |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Problema al leer cadena con espacios? Programación C/C++
 | 1mpuls0 | 7 | 6,646 |  2 Abril 2014, 18:42 pm por amchacon
 |  
						|   |   | ¿Cómo cortar una cadena string separado por espacios? .NET (C#, VB.NET, ASP)
 | Meta | 6 | 6,468 |  4 Diciembre 2015, 06:51 am por Meta
 |  
						|   |   | [C++] ¿Cómo me puede leer un cin de una cadena de texto sin contar espacios? Programación C/C++
 | DeIMachine | 2 | 3,008 |  17 Enero 2016, 20:20 pm por DeIMachine
 |  
						|   |   | Quitar espacios de un cadena de caracteres Programación C/C++
 | Dato Vagabundo | 1 | 2,785 |  12 Enero 2017, 16:07 pm por ivancea96
 |  
						|   |   | De una cadena, quitar la subcadena especificada, tantas veces como se repita. Programación General
 | Tachikomaia | 1 | 1,609 |  22 Diciembre 2024, 15:51 pm por EdePC
 |    |