Cita:
Iniciado por jam1138 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??...
Tal vez podrias determinar si es un caracter valido (desde 32).
Cita:
Iniciado por jam1138 (strcmp("algo", "otro_algo")==0) ... ¿ven algo mal??... igual aparentemente me funciona bien.
A simple vista parece correcta, aunque no tiene la funcionalidad exacta de la funcion de C que devuelve valores menores o mayores a cero segun el orden alfabetico (local).
Cita:
Iniciado por jam1138
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
}
strlen funciona bien pero str1 y str2 no tienen el tamaño suficiente para contener esas cadenas, deberian ser str1[5] y str2[6]. Un buen compilador como VC++ da error al compilar y te da la razon
Cita:
Iniciado por jam1138 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???...
Para atoi mas o menos tenes que recorrer el array de caracteres y segun la posicion usando el 10 a la potencia de la misma y restandole 48 ('0') al numero que contenga sumarlo a un total. Si tenemos "265" podemos por ejemplo calcular el total y empezar desde el ultimo caracter, 10 a la 0 * 5 = 5, mas 10 a la 1 * 6 = 60 + 5 = 65, mas 10 a la 2 por * 2 = 200 + 65 = 265!.
Las funciones de texto lo siento pero solo conozco las de Windows, que yo sepa cada Sistema Operativo las implementa de diferente manera.
fopen puede fallar por no existir el archivo en cuestion o por carecer de permisos sobre el mismo entre otras cosas.