Advertisement
Guest User

Untitled

a guest
Mar 15th, 2014
221
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <string.h>
  2. #include <stdio.h>
  3.  
  4. int main(int argc, char* argv[]) {
  5.   imprimirFormateada("Hola\n\n");
  6.  
  7.   Archivo* archivo    = abrirArchivo("todo.txt", "r+");
  8.   Archivo* producción = NULO;
  9.  
  10.   if (archivo == NULO) {
  11.     imprimirFormateada("Archivo no encontrado... creando!\n\n");
  12.  
  13.     archivo = abrirArchivo("todo.txt", "w+");
  14.   }
  15.  
  16.   int índiceParaEliminar = -2;
  17.   if (argc > 2) {
  18.     if (compararSarta(argv[1], "--poner") == 0) {
  19.       imprimirFormateada("Añadiendo \"%s\" a la lista.\n\n", argv[2]);
  20.       reposicionarArchivo(archivo, 0, DESDE_EL_EXTREMO);
  21.       escribirArchivo(argv[2], longitudDeSarta(argv[2]), 1, archivo);
  22.       escribirArchivo("\n", 1, 1, archivo);
  23.       reposicionarArchivo(archivo, 0, DESDE_EL_ORIGEN);
  24.     }
  25.     else if (compararSarta(argv[1], "--eliminar") == 0) {
  26.       escanearFormateadaSarta(argv[2], "%d", &índiceParaEliminar);
  27.       producción = abrirArchivo(".todo.txt", "w+");
  28.     }
  29.   }
  30.  
  31.   char línea[1024];
  32.  
  33.   int númLíneas = 0;
  34.  
  35.   imprimirFormateada("Cosas que hacer:\n");
  36.   while(!finalDelArchivo(archivo)) {
  37.     copiarSarta(línea, "");
  38.     sacarSartaArchivo(línea, 1024, archivo);
  39.  
  40.     if (longitudDeSarta(línea) > 1) {
  41.       if (índiceParaEliminar == númLíneas) {
  42.         imprimirFormateada(" \xE2\x9C\x93: %s", línea);
  43.         índiceParaEliminar = -1;
  44.       }
  45.       else {
  46.         if (índiceParaEliminar > -2) {
  47.           escribirArchivo(línea, longitudDeSarta(línea), 1, producción);
  48.         }
  49.  
  50.         imprimirFormateada("%2d: %s", númLíneas, línea);
  51.         númLíneas++;
  52.       }
  53.     }
  54.   }
  55.  
  56.   if (númLíneas == 0) {
  57.     imprimirFormateada("¡nada!\n");
  58.   }
  59.   else {
  60.     imprimirFormateada("\nTodavía hay %d cosa%s que hacer. :(\n",
  61.                        númLíneas,
  62.                        (númLíneas == 1) ? "" : "s");
  63.   }
  64.  
  65.   cerrarArchivo(archivo);
  66.   if (producción != NULO) {
  67.     cerrarArchivo(producción);
  68.  
  69.     cambiarNombreDeArchivo(".todo.txt", "todo.txt");
  70.  
  71.     producción = NULO;
  72.     return 1;
  73.   }
  74.  
  75.   return 0;
  76. }
Advertisement
RAW Paste Data Copied
Advertisement