|
61
|
Programación / Programación C/C++ / Re: Como identificar si se ha ingresado nombre o no en C++
|
en: 18 Junio 2012, 20:18 pm
|
Hola, Debes inicializar la variable en 0 y luego comprobar que el primer byte sea NULL o no, sería una alternativa aunque hay varias formas. if (nom[0] == '\0') ...
Otra puede ser utilizar strlen de <string.h> para saber la longitud de la cadena, obviamente inicializando la variable en 0 siempre. Un saludo, Iván Portilla. Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.satu, te me has adelantado (:
|
|
|
63
|
Programación / Programación C/C++ / Re: [?] imprimir ASCII
|
en: 18 Junio 2012, 03:03 am
|
Hola,
@dabaji, creo que los ejemplos que te hemos dado han sido bastante claros. Si lees una cadena entonces luego calcula su longitud con la función "strlen" de <string.h> y luego haz el ciclo en base a dicha longitud.
Un saludo, Iván Portilla.
|
|
|
64
|
Programación / Programación C/C++ / Re: imprimir ASCII
|
en: 18 Junio 2012, 02:58 am
|
Hola, De manera rápida sería más o menos así: #include <stdio.h> int main() { char szCadena[5] = "acbd"; int i; for (i=0; i < 4; i++) { printf("%i ", (int)szCadena [i ]); } return 0; }
Un saludo, Iván Portilla. Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.STANHMAL Como siempre antes
|
|
|
65
|
Programación / Programación C/C++ / Re: Error de estructuras en C
|
en: 18 Junio 2012, 02:40 am
|
Hola, Por encima y sin poder compilar (no estoy en mi PC) puedo decirte que el problema seguramente se encuentre en el campo nombre en la estructura alumno, en realidad debería ser un arreglo de caracteres. char nombre[10];
o bien de manera dinámica reservando memoria: char * nombre;
Y creo que en el scanf deberías pasar sin el "&", pero no tengo compilador para confirmarlo. Un saludo, Iván Portilla. Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.STANHMAL me la ganaste! Además de que me certificaste estar en lo correcto.
|
|
|
67
|
Programación / Programación C/C++ / Re: Problema Incrementar puntero
|
en: 16 Junio 2012, 14:09 pm
|
Hola, Lo correcto sería: Temp = (DWORD*)((int)Temp + 4);
Y digo lo correcto porque al menos así lo tengo entendido, lo que hace es convertir a entero para poder sumar como cualquier par de números y luego volver a hacer casting al tipo de puntero que es. Con esto lo que harías sería incrementar la dirección del puntero pero si quieres incrementar su contenido deberás "desreferenciarlo". *Temp = (*Temp) + 4;
Un saludo, Iván Portilla.
|
|
|
|
|
|
|