]> git.llucax.com Git - z.facultad/75.06/jacu.git/blob - src/vfile/vol.c
Se agregar vfeof(). Falta testeo.
[z.facultad/75.06/jacu.git] / src / vfile / vol.c
1 /* vim: set noexpandtab tabstop=4 shiftwidth=4 wrap:
2  *----------------------------------------------------------------------------
3  *                                  jacu
4  *----------------------------------------------------------------------------
5  * This file is part of jacu.
6  *
7  * jacu is free software; you can redistribute it and/or modify it under the
8  * terms of the GNU General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option) any later
10  * version.
11  *
12  * jacu is distributed in the hope that it will be useful, but WITHOUT ANY
13  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
15  * details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with jacu; if not, write to the Free Software Foundation, Inc., 59 Temple
19  * Place, Suite 330, Boston, MA  02111-1307  USA
20  *----------------------------------------------------------------------------
21  * Creado:  jue jun 17 01:24:17 ART 2004
22  * Autores: Leandro Lucarella <llucare@fi.uba.ar>
23  *----------------------------------------------------------------------------
24  *
25  * $Id: bufford.c 624 2004-05-30 20:18:04Z llucare $
26  *
27  */
28
29 #include "vfile.h"
30 #include <malloc.h>
31 #include <string.h>
32 #include <stdlib.h>
33 #include <stdio.h>
34
35 /** \file
36  *
37  * Prueba de escritura en un archivo multivolumen.
38  *
39  */
40
41 int main(int argc, char* argv[])
42 {
43         int c;
44         VFILE* vf;
45         if (argc < 3)
46         {
47                 fprintf(stderr, "Faltan argumentos! Uso: %s <destino> <tamaño bytes>)\n",
48                                 argv[0]);
49                 fprintf(stderr, "La entrada de datos a guardar en volumenes se "
50                                 "obtiene de la entrada estándar.\n");
51                 return 1;
52         }
53         if (!(vf = vfopen(argv[1], "w", atoi(argv[2]) * (1 << 10) /* en KB */)))
54         {
55                 fprintf(stderr, "No se pudo abrir el archivo virtual '%s'!\n", argv[1]);
56                 return 2;
57         }
58         while ((c = getchar()) != EOF)
59         {
60                 if (vfputc(c, vf) == EOF)
61                 {
62                         fprintf(stderr, "Error al escribir archivo virtual '%s'!\n", argv[1]);
63                         return 3;
64                 }
65         }
66         if (vfclose(vf))
67         {
68                 fprintf(stderr, "No se pudo cerrar el archivo virtual '%s'!\n", argv[1]);
69                 return 4;
70         }
71         return 0;
72 }
73