
Gracias por tus respuestas
Eternal Idol... sigo por el camino que voy pués... así que regresando a la cuestión original...
- He hecho esta función para reemplazar isgraph() e isspace() y ya no incluir
<ctype.h>:
Código:
int c_type(char c) {
if(c==' '||c=='\n'||c=='\r'||c=='\t'||c==EOF) return 0;
else return 1;
}
// Y simplemente la ocupo así
c=fgetc(file);
if(c_type(c)) ...
Por el momento me funciona a la perfección

... tendría que comparar el valor --
if(c_type(c)==1)-- ó es suficiente con lo que hago???, ¿no hay otro tipo de carácteres que comparar??...
- Para reemplazar strcmp() hice esto:
Código:
int strcmp(char *string1, char *string2) {
int i, r=0;
for(i=0; string1[i]!='\0'; i++)
if(string1[i]!=string2[i]) { r=1; break; }
return r;
}
// Y la ocupo como la función original
if(strcmp("algo", "otro_algo")==0) ....
¿ven algo mal??... igual aparentemente me funciona bien.
- Para remmplazar strlen() intenté esto:
Código:
int strlen(char *string) {
int i=0;
while(string[i]!='\0') i++;
return i;
}
Pero no me funcionó

.. no sé el por qué:
Código:
void main() {
char str1[4]="Hola";
char str2[5]="mundo";
printf("%s -> %d\n", str1, strlen(str1)); // devuelve 5. correcto
printf("%s -> %d\n", str2, strlen(str2)); // devuelve Hola[carácter_raro]mundo -> 10
}
Osease, me une las N cadenas que defina... ¿por qué sucede esto??; he intentado poner nombres que en nada se parescan (

), definir mi función de la forma
int strlen(const char *string)
... y ya ni recuerdo qué cosas más... el comportamiento es el mismo... ¿algo que ver con la memoria??
Bueno... eso he intentado por ahora;
atoi sí no le veo por dónde

... menos las funciones para colorear el texto!!... y sigo con la pregunta ¿qué cosas pueden probocar que fopen() falle???...
Cita:
Iniciado por Eternal Idol La opcion que te queda es escribir tu propia libreria, con compilacion condicional por ejemplo, que usando los servicios del Sistema Operativo sirva tanto en MS-DOS, Linux o Windows.
Me perdí...

...
Gracias, gracias, gracias...