Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: anonimo12121 en 3 Abril 2011, 12:56 pm



Título: Practicando con fstream
Publicado por: anonimo12121 en 3 Abril 2011, 12:56 pm
Pues na estoy practicando con fstream, y hago el aporte de un pequeño algoritmo que  estoy haciendo. Para trabajar con archivos externos.

El ¿por qué de este algoritmo? es, que en mi juego el número de la animación del personaje estará en un archivo externo. Así podre hacer un programa aparte para crear las animaciones.
Esto es solo pura practica.
saludos.

Código
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5. string s("");
  6. int p[10];
  7. int cargar(char *name,string cad){
  8.    char c[2];
  9.    ifstream file(name);
  10.    if(file.fail()==1){
  11.        ofstream fcreate("a.txt");
  12.        fcreate << "pj1=1,2,3,4,5,6;";
  13.        cout << "No existe el archivo.";
  14.        cout << "\nSe a creado el archivo, vuelva a ejecutar el programa." << endl;
  15.    }
  16.    file >> s;
  17.    for(int x=0,i=0;s[i];i++){
  18.        if(s[i]=='=' || s[i] ==','){
  19.            for(int j=0;s[i+j];j++){
  20.                c[j]=s[i+j+1];
  21.                if(s[i+j+1]=='=' || s[i+j+1] ==',' || s[i+j+1] ==';'){
  22.                    p[x]=atoi(c);
  23.                    x++;
  24.                    break;
  25.                }
  26.            }
  27.        }
  28.    }
  29. };
  30. int main(int argc,char *argv[]){
  31.  
  32.    cout << "El contenido del archivo es : ";
  33.    cargar("a.txt",s);
  34.    cout << s << endl;
  35.    for(int i=0;p[i];i++)cout << p[i] << endl;
  36.    cin.get();
  37.    cin.get();
  38.    return 0;
  39. }


Título: Re: Practicando con fstream
Publicado por: Garfield07 en 3 Abril 2011, 15:00 pm
Te pongo en C algo parecido pero espero mejorado.


Código
  1. #include <stdio.h>
  2.  
  3. int main (int argc, char *argv [])
  4. {
  5. printf ("FileReader 0.1 : Sagrini 2011 : elhacker.NET\n");
  6. if (argc != 2)
  7. {
  8. printf ("[!!!] Use: %s <file2read>\n\n", argv [0]);
  9. return 1;
  10. }
  11.  
  12. FILE *fp;
  13. char buffer [1024];
  14. if ((fp = fopen (argv [1], "r+"))==NULL)
  15. {
  16. printf ("[!!!] Fatal error opening file...\n\n");
  17. return 1;
  18. }
  19. printf ("--------------------------------------------");
  20. while (!feof (fp))
  21. {
  22. fgets (buffer, 1024, fp);
  23. printf ("%s", buffer);
  24. }
  25. if (fclose (fp)==-1)
  26. {
  27. printf ("[!!!] Fatal error closing file...\n\n");
  28. return 1;
  29. }
  30. return 0;
  31. }
  32.  


Título: Re: Practicando con fstream
Publicado por: [L]ord [R]NA en 3 Abril 2011, 16:12 pm
Xafi un consejo... cuando crees una funcion para que esta sea verdaderamente util no puede utilizar y/o modificar valores globales dentro del cuerpo de esta.


Título: Re: Practicando con fstream
Publicado por: anonimo12121 en 3 Abril 2011, 17:17 pm
Xafi un consejo... cuando crees una funcion para que esta sea verdaderamente util no puede utilizar y/o modificar valores globales dentro del cuerpo de esta.
Ya gracias te he entendido xDD.
PD: aquí teneis mi objetivo http://www.megaupload.com/?d=JB3AEGYP esta los codes la dll el exe y los sprites para que podáis usarlos compilar etc. lo que decía de la animación me a funcionado mejor de lo que esperaba XD aun que esta muy marrano el el código



para el vago de turno XDD:
http://www.youtube.com/watch?v=43IRW7xMFAA