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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: 1 ... 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 [164] 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 ... 401
1631  Programación / Programación C/C++ / Re: Pregunta sobre condicionales y booleanos. en: 8 Noviembre 2015, 20:54 pm
He ido recortando el codigo y todavia no he encontrado la respuesta, ahora en vez de cambiarme ha  1 me lo cambia a 0 exactamente con esto.
Lo estoy repasando y repasando pero es que no hay nada, ya me estoy desquiciando jajaj, el programa empieza con la funcion void leer recibe la variable h, despues de obtenerla la imprimo en el main y me pone que es 0, es que no se que se me pasa por alto si realmente es muy pequeño el codigo y no toco na.
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void leer(int h){
  6.    cin >> h;
  7.  
  8. }
  9.  
  10.  
  11.  
  12.  
  13.  
  14. int main(){
  15.    int h;
  16.    leer(h);
  17.    cout<<h;
  18.  
  19.    return 0;
  20. }    
  21.  

Bien,ahí el problema es que le pasas el valor de la variable h a la función. Pero si la función modifica su propia variable h, esa modificación no va a afectar a fuera de la función. Coloca:

Código
  1. void leer(int* h){
  2.    cin >> h;
  3. }
  4. ...
  5. leer(&h);
  6.  
o
Código
  1. void leer(int& h){
  2.    cin >> h;
  3. }
  4. ...
  5. leer(h);
  6.  

De estas maneras, le pasas una referencia a tu variable "h" de main, así la función puede modificar <tu> variable, y no su variable. El tema de punteros y memoria ya lo verás si no lo viste aun.
1632  Programación / Programación C/C++ / Re: Pregunta sobre condicionales y booleanos. en: 8 Noviembre 2015, 19:43 pm
Bien, entonces sabes una cosa, y es que llemas a la función enviándole un 1 como primer parámetro. Eso significa que el problema viene de antes. Revisa dónde la llamas, y revisa si a la variable que le pasas como parámetro le asignas el valor correctamente.
1633  Programación / Programación C/C++ / Re: Pregunta sobre condicionales y booleanos. en: 8 Noviembre 2015, 19:31 pm
En la misma función, haz un cout antes del if, para comprobar si h es el número correcto.
1634  Programación / Programación C/C++ / Re: Pasar de char* a string pérdida de datos en: 8 Noviembre 2015, 17:35 pm
ostream::write escribe bytes, cogiendo como fuente el puntero del primer argumento, y escribe tantos bytes como le envías en el segundo argumento.
Olvídate del caracter nulo. El caracter nulo solo sirve para texto. No estás trabajando texto, el caracter nulo no existe ya para ti. No son caracteres lo que escribes, son datos, son bytes, y la forma que tienen los métodos y funciones de saber el tamaño de los bufferes que les pasas, es dándoselo tú.
1635  Programación / Programación C/C++ / Re: Pasar de char* a string pérdida de datos en: 8 Noviembre 2015, 13:50 pm
El write en un archivo binario, escribe todos los bytes que le envíes. Para más información, consulta los métodos en una referencia de C++.
1636  Programación / Programación C/C++ / Re: Pasar de char* a string pérdida de datos en: 8 Noviembre 2015, 12:25 pm
Buenas socio, me recomiendas usar fwrite y fread para trabajar con bytes en C++, ¿o conoces algo mejor?.

Por lo que has dicho, ¿esto no se cortaría?:

Código
  1. string cadena = reinterpret_cast<char*>(_datos.contenido);
  2. archivo.write(cadena.c_str(), cadena.size());

?? Saludos.

Estás construyendo mal la string. Estás construyendola pasándole solo un char*.

Citar
string tiene un constructor que recibe como primer parámetro el puntero a char, y como segundo parámetro la longitud de la cadena. Es uno de los constructores posibles cuando se trabaja con cadenas de datos binarios.

1637  Foros Generales / Foro Libre / Re: [Consejos] ¿Alguna forma de centrarme en algo? en: 8 Noviembre 2015, 02:25 am
A mi me pasa al revés, si estoy jugando y se me ocurre algo, me engancho a programar xD
Todo depende de tus prioridades y tu fuerza de voluntad. Pero realmente, si te interesa más otras cosas que programar, ¿realmente quieres programar?
La primera pregunta es: ¿por qué hacer algo sabiendo que hay cosas que te entretienen más?
Otra pregunta es: ¿hay algo que te motive a programar?

Si no encuentras una respuesta a ambas preguntas, siempre puedes darleu n tiempo, hasta que obtengas las respuestas xD
1638  Foros Generales / Foro Libre / Re: ¿Porque España traduce tan mal los nombres de peliculas, personajes, etc? en: 8 Noviembre 2015, 02:20 am
A parte del marketing, costumbres, cultura, lenguaje y traducciones literales, esta el cuando no tienes nada mejor que poner y lo traduces como puedas.

http://www.imdb.com/find?q=como%20puedas&s=tt&ref_=fn_al_tt_mr


Saludos

Gran parte de esas son de la misma ""saga"", donde todas se llaman así xD
Parece que a los que tradujeron esas películas les gustó lo de "... como puedas". Y admitámoslo, queda bien. Siempre que lee un "... como puedas", un español piensa en una película de comedia de ese actor xD
1639  Programación / Programación C/C++ / Re: Ayuda con unas pequeñas correcciones de C a C++ en: 8 Noviembre 2015, 02:15 am
Incluso en C, ese código es incorrecto.
Los primeros 2, como dice el compilador, es porque tratas de guardar un valor void* (que es lo que retorna malloc y calloc), en punteros de otro tipo. Tienes que hacer una conversión explícita:
Código
  1. MiValor = (unsigned char*)malloc(MiValor_LEN)

El tercero y cuarto dicen: la expresión debe ser un valor L modificable. valor L, con L de Left. Los operadores binarios tienen 2 elementos: el izquierdo L, y el derecho R. L = R;. El izquierdo L, en caso de asignaciones, no puede ser una constante. En el código tienes: 3 = MiValor3. "3" es uan constante numérica, no le puedes asignar otro valor.

Olvidando esos errores: En esos if, no estás haciendo comparaciones si es lo que pretendías hacer. Estás haciendo asignaciones. No confundas la asignación "var = 5", con la comparación "var == 5".
1640  Programación / Programación C/C++ / Re: Eliminar una linea concreta de un fichero en: 8 Noviembre 2015, 02:07 am
Eliminar una fila implica sobreescribir todo lo que está desde el primer caracter de la fila a eliminar.

Así que tienes varias opciones. Una, es la que comentas. Otra, es volcar los contenidos del fichero a otro archivo temporal, y reescribir el fichero inicial.
Para evitar copiar datos 2 veces, puedes crear el nuevo arhcivo, eliminar el antiguo, y cambiar el nombre del nuevo. Pero ahí ya tendrás que hacer uso de librerías como boost, API del SO, u otras, para acceder al sistema de archivos (a parte de "system()").
Páginas: 1 ... 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 [164] 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 ... 401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines