alfa.0.1. Lectura del fichero de entrada.

This commit is contained in:
Fernando Álvarez Ruiz 2021-01-01 19:07:09 +01:00
parent d83ab0db36
commit ee44ca5a5f
4 changed files with 58 additions and 0 deletions

2
.gitignore vendored
View File

@ -52,3 +52,5 @@ Module.symvers
Mkfile.old
dkms.conf
salida.srt
.gitignore

5
LÉEME.md Normal file
View File

@ -0,0 +1,5 @@
#Conversor de Closed Captions a SubRib
Los subtítulos autogenerados de Google se pueden descargar pero su formato
no es estándar y no se reconoce por los reproductores que utilizo (al menos VLC
no lo hace) así que esta es una utilidad para convertirlos al formato srt que es
universal.

BIN
cc2srt Executable file

Binary file not shown.

51
cc2srt.c Normal file
View File

@ -0,0 +1,51 @@
#include <stdio.h>
#include <stdlib.h>
struct entrada_cc{
int minutos;
int segundos;
char texto[255];
};
int main(int argc, char **argv) {
FILE *entrada;
FILE *salida;
char cadena [255];
struct entrada_cc ent1;
int i = 0;
for(i = 0; i < argc; i++){
printf("El argumento en la posición %d es %s\n", i, argv[i]);
}
if (argc < 2) {
printf("Uso: %s <nombre de fichero a convertir>.\n", argv[0]);
return(3);
}
entrada = fopen(argv[1], "rt");
if (entrada == NULL) {
printf("El fichero %s no se ha podido abrir.\n", argv[1]);
return(1);
}
salida = fopen("salida.srt", "w");
if (salida == NULL) {
printf("El fichero %s no se ha podido abrir.\n", argv[1]);
fclose(entrada);
return(2);
}
printf("Procesando fichero %s.\n", argv[1]);
fgets(cadena, 256, (FILE *) entrada);
while(fscanf((FILE *)entrada, "%d:%d\n", &ent1.minutos, &ent1.segundos) > 0) {
printf("Minutos: %d, Segundos: %d\n", ent1.minutos, ent1.segundos);
sprintf(cadena, "%d:%d", ent1.minutos, ent1.segundos);
fputs(cadena, (FILE *) salida);
fgets(ent1.texto, 255, (FILE *)entrada);
sprintf(cadena, " %s", ent1.texto);
fputs(cadena, (FILE *) salida);
printf(cadena);
}
fclose(entrada);
fclose(salida);
return(0);
}