elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Leer cadenas tipo string con espacios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer cadenas tipo string con espacios  (Leído 20,228 veces)
luisda2994

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Leer cadenas tipo string con espacios
« en: 24 Julio 2012, 06:24 am »

He leido varios post sobre como leer una cadenas con espacio donde recomiendan usar fgets() o getline() en vez de cin.
Aquello funciona cuando la variable es declarada char[], pero yo tengo mis variables string... que me recomiendan?


En línea

bemone

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: Leer cadenas tipo string con espacios
« Respuesta #1 en: 24 Julio 2012, 09:19 am »

getline(cin, string);


En línea

Odio los tipos de variable de Windows.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Leer cadenas tipo string con espacios
« Respuesta #2 en: 24 Julio 2012, 13:52 pm »

e c++

getline() tambien sierve para string (es mas recomendable usar string que char en esta funcion)...

en c-ansi

Código
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. char *readLine(FILE *file) {
  6.    char *line = (char*)malloc(1);
  7.    size_t size = 0;
  8.  
  9.    while ((line[size] = getchar()) != '\n')
  10.        line = (char*)realloc(line, ++size + 1);
  11.  
  12.    line[size] = '\0';
  13.  
  14.    return line;
  15. }
  16.  
  17. int main() {     // ==============
  18.    char cmd[512];
  19.    char *path; //  MAX_PATH = 256
  20.  
  21.    puts("Ruta a crear");
  22.    path = readLine(stdin); //  leemos una linea desde el buffer de entrada del teclado
  23.    sprintf(cmd, "mkdir \"%s\"", path); //  construimos la cadena por ejemplo: mkdir "c:\Hola Mundo desde C-ANSI"
  24.    system(cmd);    //  Ejecutamos.
  25.  
  26.    free(path);
  27.    getchar();
  28.    return EXIT_SUCCESS;
  29. }
  30.  
  31.  

Dulces Lunas!¡.
« Última modificación: 24 Julio 2012, 13:54 pm por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Leer cadenas tipo string con espacios
« Respuesta #3 en: 24 Julio 2012, 15:04 pm »

Solo para redondear el aporte de bemone.

Si no tienes una referencia de calidad sobre la biblioteca estándar de C++ puedes utilizar una en linea. Solo por mencionar una (por cierto muy buena): descripción y ejemplo (en ingles) de la funcion "getline" cortesia del sitio C plus plus se encuentra en esta pagina.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
luisda2994

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Leer cadenas tipo string con espacios
« Respuesta #4 en: 24 Julio 2012, 19:55 pm »

Muchas gracias, he solucionado mi problema.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Guarda cadenas con espacios - como? « 1 2 »
Programación C/C++
d00ze13 10 21,662 Último mensaje 19 Mayo 2011, 09:02 am
por d00ze13
Problema al leer cadenas con espacios [C++]
Programación C/C++
Don Pollo 3 21,429 Último mensaje 20 Mayo 2011, 03:49 am
por Lx
Problema con espacios de un string
Programación C/C++
danibdn 1 2,678 Último mensaje 7 Junio 2011, 03:41 am
por Fer995
¿Cómo cortar una cadena string separado por espacios?
.NET (C#, VB.NET, ASP)
Meta 6 5,606 Último mensaje 4 Diciembre 2015, 06:51 am
por Meta
En base de datos SQL server hay en un string 2 espacios
Bases de Datos
ElInquisidor 2 2,710 Último mensaje 7 Mayo 2016, 19:40 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines