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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / cin.getline y cin.ignore en: 25 Octubre 2012, 13:08 pm
Código
  1. #include <iostream>
  2. #include <limits>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    char nombre[10] = "";
  9.    int dia = 0;
  10.  
  11.    cin.getline(nombre, 10, '\n');
  12.    cin.ignore(numeric_limits<int>::max(), '\n');
  13.  
  14.    cout << "dia: ";
  15.    cin >> dia;
  16.    cout << "dia: " << dia << endl;
  17.  
  18.    return 0;      
  19. }
  20.  

Compilo y ejecuto:

Código:
[tmp]$ g++ a1.cpp -Wall -g -o a1
[tmp]$ ./a1
hola esto es una prueba con una cadena que ocupa mas de 10 caracteres
dia: dia: 0
[tmp]$

¿Por qué no me pide por pantalla el valor de día?

Gracias de antemano
2  Programación / Programación C/C++ / Matriz estática en: 24 Octubre 2012, 20:40 pm
Código
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.    const int i = 2;
  6.    static char cadena[i];
  7.    return 0;
  8. }
  9.  

El error:
Código:
error: storage size of ‘cadena’ isn’t constant

¿Por qué me da este error? Sin embargo si quito el static, no da error.

El motivo de querer que sea static es para hacer algo similar a esto:

Código
  1.    char *Clase::obtenerNombre(char * nombre) const {
  2.        if (m_nombre) {
  3.            const int len = strlen(m_nombre)+1;
  4.            static char nom[len];
  5.            strcpy(nom, m_nombre);
  6.            nombre = nom;
  7.            return nombre;
  8.        }
  9.    }
  10.  

m_nombre es un atributo de la clase "Clase" y que está definido de la siguiente forma:
Código
  1. char *m_nombre;
  2.  

Defino el array nom estático, para que el usuario de la clase no tenga que preocuparse de liberar memoría con delete. Estoy obligado a usar char * y no std::string.

Gracias de antemano
3  Programación / Programación C/C++ / Visual Studio 2012 - Editor de código en: 13 Octubre 2012, 19:28 pm
Hay algo que me desquicia en VS, quizás alguien que haya trasteado pueda ayudarme. Estoy acostumbrado a editores como vim, en el que me muevo muy fácilmente por el código con atajos del teclado, por ejemplo: avanzar palabras, eliminar una palabra hacia atrás  o hacia adelante, ir al final de la línea, etc...
Se puede configurar esto en VS2012?

Gracias de antemano
4  Programación / Programación C/C++ / Imprimir float en hexadecimal en: 11 Octubre 2012, 20:01 pm
¿Por qué no me funciona esto para imprimir un float en dígitos hexadecimales?

Código
  1.  
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6.    float f = 5.5;
  7.    printf("%X\n", f);
  8.    return 0;
  9. }
  10.  
  11.  

Debería de salir (códificación IEEE 754): 80 B0 00 00
y da: DAC98408

Gracias anticipadas
5  Programación / Programación C/C++ / EOF y sscanf (SOLUCIONADO) en: 11 Octubre 2012, 11:00 am
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.    int dato;
  7.    int rs;
  8.    char linea[8];
  9.    fgets(linea, 8, stdin);
  10.    rs = sscanf(linea, "%d", &dato);
  11.    printf("%d\n", rs);
  12.    return 0;
  13. }
  14.  

¿Por qué al introducir Ctrl+d (EOF) no imprime -1?

Al final encontré el problema, había que iniciar linea a '\0'

Gracias de antemano
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines