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

#411
Cita de: dimitrix en 29 Junio 2012, 17:23 PM
Sí, cada vez veo a más gente sin cerebro.

En prácticamente todas las películas de zombies actuales, los zombies SI tienen cerebro funcional...

Dulces Lunas!¡.
#412
.
unsigned long long

Dulces Lunas!¡.
#413
Programación C/C++ / Re: series en C
29 Junio 2012, 05:06 AM
En lugar de float usa double...

Dulces Lunas!¡.
#414
Ouch manejo mal de la definición, quería decir usando la sintaxis standart de Doxigen.

aun asi existe: PHPDocumentor si no mal recuerdo lo mencionan en un pdf de Zend Studio.

Dulces Lunas!¡.
#415
faltante MSCOMCTL.OCX

Dulces Lunas!¡.
#416
A probar tu aplicación...

Dulces Lunas!¡.
#417
@WHK si documentaste cada funcion de manera Standart puedes usar Doxygen para crear la documentacion de manera automática, este programa me encanta ya que hace todo por si solo.

http://infrangelux.sytes.net/gameplay-api/html/hierarchy.html

Te crea las estructuras de herencia...

http://infrangelux.sytes.net/gameplay-api/html/classgameplay_1_1_control.html

Muy bueno el maldito programa.



Dulces Lunas!¡.
#418
Programación C/C++ / Re: Get/Post en C++.
28 Junio 2012, 22:46 PM
Existe el protocolo HTTP con ese haces TODO... igual hay apis en las plataformas que hacen eso en windows se llaman INET si no me equivoco.

Dulces Lunas!¡.
#419
¿Ya creaste el ODBC que apunta al host y a la BDD correcta?...

Dulces Lunas...
#420
Ammm te cree el código ya que no tengo nada que hacer... malditas vacaciones.

crea un archivo llamado "c:\a.txt" y dentro escribe las palabras separadas con espacios...




#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define PARSETHIS "[$2] [$2] [$3] [$4] [$300] [$030]"

typedef struct acumstrings
{
    char **ptr;
    size_t count;
} acumstrings;

acumstrings acum;

inline const char* getTokenIndex(const char *str, long *Index)
{
    if (!str) return NULL;
    char *ptr = strstr(str, "[$");
    char *end = NULL;

    if (ptr) {
        ptr += strlen("[$");
        (*Index) = strtol(ptr, &end, 10);
    }

    return ptr;
}

inline char* replace(const char *str, const char *find, const char *rep)
{
    char *ret = NULL;
    size_t strOln;
    size_t strFln;
    size_t strRln;
    const char *end[2];
    size_t sizeL;
    size_t sizeR;


    if (!str) return NULL;

    strOln = strlen(str);

    if (!find || (end[0] = strstr(str, find)) == NULL) {
        ret = (char*)malloc(strOln + 1);
        memcpy(ret, str, strOln + 1);
        return ret;
    }

    strRln = strlen(rep);
    strFln = strlen(find);

    end[1] = (char*)((size_t)end[0] + strFln);

    sizeL = (size_t)end[0] - (size_t)str;
    sizeR = ((size_t)str + strOln) - (size_t)end[1];

    ret = (char*)malloc(sizeL + strRln + sizeR + 1);

    memcpy(ret, str, sizeL);
    memcpy((void*)((int)ret + sizeL), rep, strRln);
    memcpy((void*)((int)ret + sizeL + strRln), end[1], sizeR);

    ret[sizeL + strRln + sizeR] = '\0';

    return ret;
}

int main ()
{
    FILE* file;
    size_t ret;
    char* strLast = NULL;
    char* strNew = NULL;
    char* strNewFind = NULL;
    char strToken[20];
    long index;

    file = fopen("C:\\a.txt", "rb+");

    //  Obtenemos cada palabra.
    while (!feof(file))
    {
        acum.ptr = (char**)realloc(acum.ptr, (acum.count + 1) * sizeof(char**));
        acum.ptr[acum.count] = (char*)calloc(256, 1);
        ret = fscanf(file, "%s", acum.ptr[acum.count]);
        puts(acum.ptr[acum.count]);
        ++acum.count;
    }

    fclose(file);

    strNew = (char*)malloc(strlen(PARSETHIS) + 1);
    strcpy(strNew, PARSETHIS);
    strNewFind = strNew;

    //  reemplazamos cada token por cada una de las palabras respectivas.
    while(strNewFind = getTokenIndex(strNewFind, &index))
    {
        sprintf(strToken, "[%$%d]\0", index);
        if (acum.count > index) {
            strLast = strNew;
            strNew = replace(strLast, strToken, acum.ptr[index - 1]);
            free(strLast);
            strNewFind = strNew;
        } else {
            ++strNewFind;
        }
    }

    while(acum.count--)
        free(acum.ptr[acum.count]);
    free(acum.ptr);

    puts(strNew);

    free(strNew);

    getchar();

    return 0;
}



Dulces Lunas!¡.