Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Søra en 22 Mayo 2010, 12:42 pm



Título: Dudas con estructura While y con fgets [Solucionado]
Publicado por: Søra en 22 Mayo 2010, 12:42 pm
Ola perdon por abrir tantos temas pero son dudas diferentes y tambien perdon por no dejaros responder XD pero me asaltan las dudas y no puedo evitar preguntar, esque cuando google no me soluciona algo o pregunto o me quedo atascado.

Tengo una duda con el siguiente codigo:

Código
  1. #include <stdio.h>
  2. main()
  3. {
  4. printf(" _       _         _       _     ______         _               _     _ \n");
  5. printf("(_)  _  (_)       (_)  _  (_)   (______)       (_) _           (_)   (_)\n");
  6. printf("(_) (_) (_)  ___  (_) (_) (_)   (_)__    _   _  _ (_)__  _   _ (__)_ (_)\n");
  7. printf("(_) (_) (_) (___) (_) (_) (_)   (____)  (_)_(_)(_)(____)(_) (_)(_)(_)(_)\n");
  8. printf("(_)_(_)_(_)(_)_(_)(_)_(_)_(_)   (_)____   (_)  (_)(_)   (_)_(_)(_)  (__)\n");
  9. printf(" (__) (__)  (___)  (__) (__)    (______)(_) (_)(_)(_)    (___) (_)   (_)\n");
  10. printf("------------------------------------------------------------------------\n");
  11. printf("Comprobando disponibilidad de realmlists:\n");
  12.  
  13.   char bufferealm[40];
  14.   FILE *pf;
  15.   pf = fopen("Realmlist.wtf","r");
  16.   if (pf==NULL) {
  17.       printf("No has configurado WEL debes ejecutar el archivo Configure.exe");
  18.   }
  19.  
  20.   while (fgets(bufferealm,40,pf) != NULL);
  21.   {
  22.      char buffer[50];
  23.      sprintf(buffer, "ping -w 4 %s", bufferealm);
  24.      if (system(buffer) == 0) {
  25.         printf("%s se encuentra apagado WEL pasara al siguiente realmlist",&bufferealm); }
  26.      else {
  27.         FILE *df;
  28.         df = fopen("C:\\Archivos de programa\\World of warcraft\\Data\\esES\\realmlist.wtf","w");
  29.         fprintf(df,"%s",bufferealm);
  30.         printf("%s esta encendido y el realmlist ya esta cambiado",&bufferealm);
  31.         return 0;
  32.         }
  33.    }

Yo he puesto ese while ai con idea de que valla poniendo en el bufferealm solo los datos que obtenga cuando fgets(bufferealm,40,pf) no sea una linea en blanco pero despues releyendo la sintaxis de while no se si funcionara bien o no y ahora mismo no tengo un compilador para probarlo ya que no estoy en mi PC....... perdon de nuevo por poner tantos temas seguidos.

SOLUCIONADO: Tenia yo razon si que funciona como yo esperaba.


Saludos Søra.

edito: vale me he descargado un compilador y creo que funciona bien lo unico es que miren lo que pasa cuando ago ping a un servidor que esta apagado:

Código:
~/Escritorio/C/Wow$ ./a.out
 _       _         _       _     ______         _               _     _
(_)  _  (_)       (_)  _  (_)   (______)       (_) _           (_)   (_)
(_) (_) (_)  ___  (_) (_) (_)   (_)__    _   _  _ (_)__  _   _ (__)_ (_)
(_) (_) (_) (___) (_) (_) (_)   (____)  (_)_(_)(_)(____)(_) (_)(_)(_)(_)
(_)_(_)_(_)(_)_(_)(_)_(_)_(_)   (_)____   (_)  (_)(_)   (_)_(_)(_)  (__)
 (__) (__)  (___)  (__) (__)    (______)(_) (_)(_)(_)    (___) (_)   (_)
------------------------------------------------------------------------
Comprobando disponibilidad de realmlists:
ping: unknown host set
set realmlis exirun.servegame.com
 esta encendido y el realmlist ya esta cambiado

SOLUCIONADO: Entendi al reves si da 0 es que existe si da diferente de 0 no existe y no al reves

Saludos Søra.


edito2: Y por cierto cuando indico la ruta del realmlist en el
Citar
df = fopen("C:\\Archivos de programa\\World of warcraft\\Data\\esES\\realmlist.wtf","w");

lo que hace es crearme un archivo con ese nombre. Es porque estoy en linux y la ruta no existe o aunque existiera la ruta me iba a hacer lo mismo?????

SOLUCIONADO: Segun he leido es porque no existe la ruta no porque este mal


Saludos Søra.