Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - fantasma306

#11
no se si esta imagen te puede servir de algo:

http://www.alexatnet.com/sites/default/files/google-chrome-extension-api-class-model.png

EDITO: no creo que no, creo que esto es solo para las extensiones del navegador, buscare mas.


saludos
#12
Programación C/C++ / Re: ejercicios en c
16 Junio 2011, 16:14 PM
Código (cpp) [Seleccionar]
int strlen(char *cadena)
{
char *ptr = cadena;

while(*ptr++);
*ptr--;

return ptr - cadena;
}


le pasa la direccion de donde empieza la cadena.
digamos que la cadena esta en la direccion :70
cadena es un puntero, luego crea otro puntero y le pone la misma direccion que cadena es decir 70

(digamos que la cadena es "HOLA")
va imcrementando ptr hasta el fin de la cadena, al final del bucle ptr vale 75(4 letras + 1, el caracter '\0')
luego desincrementa ptr para que tenga la direccion 74; (es decir justo las 4letras)
y luego resta 74-70= y devuelve el resultado, 4, justo el numero de letras que tiene la cadena.

saludos
#13
Programación C/C++ / Re: ejercicios en c
16 Junio 2011, 13:54 PM

Cita de: Queta en 15 Junio 2011, 20:46 PM
int strlen(char *cadena)
{
char *ptr = cadena;

while(*ptr++);

return ptr - cadena;
}

solo un pequeño fallo, al final del bucle tienes que desincrementar ptr, por que al ser un char* tambien cuenta el caracter '\0';

Cita de: Dark Invader en 15 Junio 2011, 22:10 PM
Mientras el valor almacenado en ptr aumente en 1, devuelve el valor de ptr - cadena,¿que da el resultado de ptr - cadena? :-\
En realidad el while no tiene cuerpo, por lo tanto no se puede decir que mientras el valor almacenado en ptr aumente de 1 devuelve el valor de ptr-cadena...

solo devuelve la resta al final, cuando el while termina.
Lo que quiere hacer nuestro camarada Queta, es que la direccion de memoria (ptr) incremente hasta llegar al final de la cadena, luego resta ambas direcciones lo que devuelve es el tamaño de la cadena... (no se si ha quedado claro)

PD: no se por que pero al llamar a la funcion de Queta, "strlen" no entra dentro de su funcion, sino que usara la funcion de la libreria string.h (y eso que no la he incluido).


saludos
#14
bueno solo decirte que no hace falta que pongas
std::
ya que creo que tienes puesto el using namespace std;

tampoco hace falta que hagas esto:
const char *ImagenChar=Imagen.c_str();
con que pongas,
fstream fichero(Imagen.c_str(), ifstream::in); ya esta, asi te ahorras variables. (es una de mis manias!  ;D)

una ultima cosa, no te olvides de cerrar el archivo en el ELSE  ;)

saludos!


#15
puede ser por que fDisp es un archivo y lo estas tratando como si fuese binario ?!...
para escribir en un archivo binario, los datos se escriben como si fuesen char*

saludos
#16
Si tu archivo es binario, ya no se trata de ifstream ni de ofstream. solo tienes que poner fstream:
   fstream fich (Imagen, ios::in | ios::binary);

Lo que puedes hacer es intentar abrir el archivo en lectura, y despues comprobar si esta abierto. (si no esta abierto no existe y si esta abierto no te olvides de cerrarlo)

Código (cpp) [Seleccionar]
string nomImagen;
cout <<  "\n\nselecciona imagen a transformar\n\n";

cin.clear();
cin.sync();
getline(cin,nomImagen);

cout<<nomImagen<<endl;

fstream archivo(nomImagen.c_str() , ios_base::in | ios_base::binary);
if(archivo.is_open()){
cout<<"El archivo existe"<<endl;
archivo.close();
}
else
cout<<"El archivo no se ha abierto";//podriamos decir que no existe


si el codigo es solo para windows hecha un vistazo a esto:
http://www.latindevelopers.com/forum/verificar-si-un-archivo-existe-t3102.html

saludos
#17
Que raro la verdad, a mi me funciona sin la libreria math.h, pero es verdad que deberia de haberla incluido...

Modificare el codigo para que no haya más problemas, a ver si solo es eso...
#18
Cita de: XxX--Underwar--xXx en 14 Junio 2011, 20:04 PM
fantasma306 Ami tu código no me compila salen los siguientes errores:

integer constant is so large that is unsigned
this decimal constant is unsigned only in ISO C90
in function 'void genDico(std::ostream&, const char*, double, double)
'pow' was not declared in this scope


Esos son los errores que me salen a la hora de compilar

Lo estas compilando como C o como C++?
#19
Echen un vistazo a esto:
EDITO:
http://msdn.microsoft.com/en-us/library/ms706556.aspx

Dejo el siguiente link por si les interesa
Download Wireless Communication Library C++ Edition:
http://www.btframework.com/download_mfc.htm

lo unico, que es solo una demo  :silbar:

#20

aqui esta muy bien explicado

http://mazard.info/tutos/tuto_winsock.pdf

;)