Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: megaerikivan en 25 Enero 2016, 04:12 am



Título: ¿Que funciones puedo agregar a mi libreria?
Publicado por: megaerikivan en 25 Enero 2016, 04:12 am
Estoy creando una librería ANSI la cual llame easylib.h, la idea de la librería es facilitarnos la vida al hacer programas en c y quería que me recomienden cosas para ponerle. Esto es lo que llevo asta ahora:

Código:
#include <stdio.h>
#include <stdlib.h>

//Este define hace un bucle de la cantidad de veces que se le alla especificado
#define For(a,b) for(a = 0;a < b;a++)
#define true 0
#define false 1
int i,j,l;

int comps(char p1[],char p2[]);
void backslash(char b,int n);
void cleans();
void gotoxy(int x,int y);

//Esta funcion compara 2 strings, en el caso de que sean iguales envia 0 y en su defecto envia 1
int comps(char p1[],char p2[]){
    int pr = true;
    i = 0;
    do{
        if(p1[i] != p2[i]){
            pr = false;
        }
        i++;
    }while (pr == true && p1[i] != '\0' || p2[i] != '\0' );
    i = 0;
    return pr;
}

//Esta funcion hace un/os \n o \t segun se le indique
void backslash(char b,int n){
        if(b == 'n')for(i = 0; i < n;i++){printf("\n"); }
        else if(b == 'n')for(i = 0; i < n;i++){printf("\t"); }
}

void cleans(){
        #if defined(__linux__)
        system("clear");
        #endif

        #if defined(_WIN32)
        system("cls");
        #endif
}

void gotoxy(int x,int y){
        printf("%c[%d;%df",0x1B,y,x);
}

PD:Aca voy actualizando el código http://elfrikiinformatico.blogspot.com.ar/p/easylibh.html (http://elfrikiinformatico.blogspot.com.ar/p/easylibh.html)


Título: Re: ¿Que funciones puedo agregar a mi libreria?
Publicado por: ivancea96 en 25 Enero 2016, 16:08 pm
No te diré qué funcionalidades meterle, eso es algo que tú verás, según lo que queiras que al librería haga, o las necesidades que tengas. Lo que sí puedo decir, es que antes de meter funciones en la librería, te asegures de que funcionan.

En comps:
Código
  1. while (pr == true && p1[i] != '\0' || p2[i] != '\0' );
Pon paréntesis. Aunque pr sea falso y p[ i ] sea '\0', si p2[ i ] es diferente de '\0', seguirá en el bucle.
Código
  1. while (pr == true && ( p1[i] != '\0' || p2[i] != '\0' ) );

En backslash:
Código
  1. else if(b == 'n')for(i = 0; i < n;i++){printf("\t"); }

Entiendo que se trata de un error al copiarlo. Habrás querido decir b == 't'.


Título: Re: ¿Que funciones puedo agregar a mi libreria?
Publicado por: HardForo en 17 Abril 2016, 20:35 pm
Para empezar, no es muy ordenado mezclar funciones de sistema, entrada-salida con manejo de cadenas

Cada cosa en su lugar (su propia libreria)