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 - xiruko

#331
si eres un usuario tipico, de los que usa solo el navegador, ofimatica, ver pelis y fotos, y algun programa normal mas, entonces con mac os tienes suficiente.

si eres programador o estas empezando a programar, a tocar y probar temas de redes, haces cracking de programas, usas photoshop u otros programas de diseño, y cosas por este estilo, con mac os tienes mas que suficiente.

de hecho, si quieres probar otro sistema operativo, puedes bajarte virtualbox que es gratuito y va fenomenal. en mi macbook pro con intel core 2 duo y 4gb de ram tengo windows xp virtualizado y va perfecto, y alguna vez he probado alguna distro de linux y tampoco he tenido ningun problema.

para todo esto y mas, mac os va fenomenal. si quieres hacer cosas mas especificas o centrarte en algo e ir hasta el fondo (tipo desarrollar para alguna distro de linux o para windows, o trabajar y programar con la API de windows, etc) entonces necesitaras otro sistema operativo pero como te he dicho antes, virtualbox va genial.

en fin, es cosa tuya ponerle otro sistema operativo si quieres, pero yo he probado unos cuantos y sin duda me quedo con mi mac os. a veces tienes problemas en encontrar algun programa especifico, pero normalmente suele haber alguno que hace practicamente lo mismo.

y si no te convence nada de lo que te he dicho, pues prueba otro so, y siempre podras volver a mac os si te arrepientes.

en cuanto a tu pregunta, pues decide si windows o linux. si quieres linux y eres novato, podrias probar ubuntu o linux mint, ya que son los que estan mas encarados a newbies. si buscas algo mas de hacking, puedes probar backtrack con el live cd asi no tendrias que formatear, y si intentas aprender sobre todos sus comandos progresaras mucho en muchas ramas (aunque aprenderlos todos es realmente dificil y lleva mucho tiempo... xD).

en fin lo dejo ya, ya contaras a ver que decides o sino postea una duda algo mas concreta. un saludo!
#332
while (getchar()!='\n')
            ;


una pregunta... por que ultimamente poneis por aqui esto de esta manera? y no como cualquier otra sentencia:

while (getchar()!='\n');

ademas que eso no es para pausar el programa aunque lo haga, sino que eso se utiliza para vaciar el bufer de entrada stdin despues de haber usado scanf para leer algun entero por ejemplo. si este fuera el caso, tu programa no se pausaria ya que quedaria seguro un \n en stdin y por lo tanto no se haria la pausa.

realmente eso se usa para limpiar el bufer de entrada, y luego simplemente con un getchar() se pausa el programa a la espera de que el usuario presione enter.

pero bueno que mi post simplemente es por el ";" puesto de esa manera, ya que intento ser bastante minucioso y no se por que lo poneis asi xD

un saludo!
#333
Programación C/C++ / Re: Duda con ejercicio de clase
30 Septiembre 2012, 23:24 PM
he intentado seguir tu codigo pero he desistido a los pocos segundos... tanto para ti como para alguien que tenga que leer tu codigo, el orden y ser minucioso es algo que se agradece muchisimo. aqui te dejo el code que funciona, ya que tu has aportado tu parte y seguramente el error estuviera en alguna llave que te hayas dejado o algun parentesis. lo he hecho con la funcion fread() en lugar de fscanf(), ya que me gusta mas comparar con caracteres leidos que no con EOF (es algo personal y no por ello mejor o peor), pero bueno al menos tienes un code funcional y asi puedes mirar que es lo que sucede en el tuyo.

#include <stdio.h>

int main()
{
FILE *f=NULL;
int numeroZ=0, bytesLeidos;
char c;

f=fopen("prueba.txt","r");
if (!f) {
printf("Error: No se pudo abrir el archivo.\n");
return 1;
}

do {

bytesLeidos=fread(&c, sizeof(char), 1, f);
if (c=='z' || c=='Z') numeroZ++;

} while (bytesLeidos>0);

fclose(f);
printf("Numero de 'z' y 'Z': %d\nPulsa enter para salir...", numeroZ);
getchar();

return 0;
}


por cierto, es muy pesado hacer una llamada al sistema para pausar el programa. en lugar de ello, con un simple getchar() se consigue el mismo efecto.

un saludo!

edito: donde estudias ingenieria industrial? yo la hago en barcelona y aun me acuerdo de lo TOSTon que era... xD
#334
yo vivo en una ciudad a 10 minutos en coche de barcelona, aunque en las afueras que es una zona mas residencial, y me llegan unos 1.7 mbps.

cada dia sueño con que llegue la fibra optica de una vez xD
#335
CitarJAJAJAJA QUE RISA SOCIO QUE RISA....

Deberias verte la pelicula el ultimo samurai de Tom Cruise....
Amputarse un dedo podria ser una muestra del arrepentimiento de un hacker que trabajo con empresas estatales, ayudando a los ricos a hacerse mas ricos, y que ahora vio que estaba gastando sus fuerzas envano y se ha unido a la resistencia.

Tambien te recomiendo leerte el libro 1984 de Orwell antes de seguir comentando pendejadas...

"Si no sabes algo malo de alguien, no lo inventes; si lo sabes y es secreto, no lo divulgues; si lo sabes y es público; para que lo repites."

1. la pelicula de el ultimo samurai me encanta.
2. se te va la cabeza con la pelicula de los hackers arrepentidos que te has montado.
3. la frase esa del final la acabas de aprender y tenias ganas de ponerla en algun lado? porque no le veo sentido con el resto del post.
#336
CitarCreo que no te has fijado bien en el punto y coma ";" después del while. Este es el que "obliga" al programa a esperar el ENTER para cerrar.

:huh:

el ";" no es para nada mas que para acabar el bloque del while sin ninguna sentencia dentro de el.

while(getchar()!='\n');

esto se hace para limpiar el bufer de entrada stdin. se ha comentado muchas veces en el foro pero lo repetire una vez mas. funciones como scanf() dejan basura en el bufer de entrada. si lo usas para leer un entero, e introduces por ejemplo "23ab", scanf() leera el "23" y el "ab\n" se quedara en el bufer de entrada. usando esta sentencia del while, limpias el bufer ya que descarta los caracteres hasta encontrarse el de salto de linea, el cual tambien lo descarta. asi luego puedes usar otras funciones como fgets() sin problemas.

CitarEn la parte del for(i = 0; cadena != '\0'; ++i);
Por qué pones el punto y coma al final? Según mi libro al final del -for- no debería ir eso.

es el mismo caso que antes. cuando el for tiene sentencias dentro de el se usan "{}", en cambio si no tiene ninguna sentencia dentro tienes que indicar de alguna manera que el for se acaba, y se hace con ";". de hecho, tambien podrias hacerlo asi:

for(i=0; cadena!='\0'; i++){}

o incluso asi:

for(i=0; cadena!='\0'; i++){};

y todas funcionarian.

un saludo!
#337
jajajaj

de aqui nada "nueva moda en japon, amputarse un dedo y meterselo por el..."
#338
Programación C/C++ / Re: substring en array char
21 Septiembre 2012, 18:57 PM
vaya pensaba que haciendo eso alterabas la cadena original haciendo que el puntero ya no apuntase al principio de la cadena despues de la funcion, pero lo he ejecutado y funciona correctamente. supongo que cuando le pasas un puntero a una funcion, este es una copia y no el original.

pensaba que esto ya lo tenia claro pero siempre se aprende algo nuevo xD

un saludo!
#339
Programación C/C++ / Re: substring en array char
21 Septiembre 2012, 17:28 PM
CitarHay un error en esa función: el utilizar el operador "++" en la condición tiene como efecto que la variable "i", en el cuerpo del bucle, sea el indice del siguiente carácter.

cierto, lo escribi y ejecute y funcionaba, pero claro funcionaba porque la palabra a buscar no estaba justo al inicio de la frase. gracias por el dato, ahora mismo lo corrijo.

luego he probado tu funcion y no me iba, y creo que es porque aunque aumentes el puntero sumandole la longitud de la cadena, luego a la funcion strstr() le vuelves a pasar la cadena original "cad", por lo que el programa entra en un bucle infinito. haciendo esto si que funciona:

char* p=cad;

y luego en la condicion del for le pasas el puntero a strstr() para aumentarlo dentro si encuentra la cadena a buscar:

for (i=0; (p=strstr(p, sub)) != NULL; i++)

un saludo!
#340
Programación C/C++ / Re: substring en array char
21 Septiembre 2012, 14:32 PM
CitarYa pero si lees bien lo que pone, dice que localiza la primera aparicion solamente, a ti te lo muestra las 2 veces porque imprime hasta el caracter nulo. De hecho si pruebas a cambiar tu variable texto por esta:

texto[]="hola que tal\nbien y tu\ngracias\n¿Por que imprime el gracias y esto?"

Veras como lo imprime todo...

no imprimira todo, imprimira desde el primer "bien" hasta el final de la cadena, que es exactamente lo que tiene que hacer esa funcion. tu lo que quieres hacer es que solo te imprima la palabra "bien"? quiero decir, tu buscas algo, y si lo encuentra, que te diga que si se encuentra en el texto y donde?

edito: he hecho una funcion para que te diga el numero de veces que una cadena esta en otra. no se si es exactamente lo que buscas, a ver si comentas y lo explicas un poco mejor. espero que te sirva:

int BuscarCadena(char* origen, char* buscar) {

int numeroApariciones=0, i=0, j;

while (origen[i]!='\0') {

for (j=0; j<strlen(buscar); j++)
if (origen[i+j]!=buscar[j]) break;

if (j==strlen(buscar)) numeroApariciones++;
                i++;
}

return numeroApariciones;
}


edito: para corregir un error en la condicion del while.