Necesito un editor de texto (codigo en c)utilizando arreglo de cadenas de caracteres, que permita correr los siguientes dos niveles.
Primer nivel de menu:
- Crear un nuevo texto
- Abrir un texto existente en disco
Segundo nivel de menu:
-insertar una cadena de texto
-Reemplazar una linea de texto
-Mostrar las lineas de texto en pantalla
-Agregar una linea al final del texto
-Buscar una palabra en el texto
-Salvar el texto editado en disco
-Salir
tengo hecho esto pero no puedo terminarlo:
#include <stdio.h>
void menu1();
void menu2();
void CrearFichero(FILE *Fichero);
void AbrirFichero(FILE *Fichero);
void InsertarDatos(FILE *Fichero);
void ReemplazarLinea(FILE *Fichero);
void VerDatos(FILE *Fichero);
void AgregarLinea(FILE *Fichero);
void BuscarPalabra(FILE *Fichero);
void SalvarArchivo(FILE *Fichero);
struct sRegistro {
char texto[500];
char ubicacion[100];
} registro;
int main(int argc, char** argv)
{
int opcion;
int exit = 0;
FILE *fichero;
menu1();
printf("nOpcion: ");
scanf("%d", &opcion);
switch(opcion)
{
case 1:
CrearFichero(fichero);
break;
case 2:
break;
default:
printf("nopcion no valida");
}
menu2();
printf("nOpcion: ");
scanf("%d", &opcion);
switch(opcion)
{
case 1:
InsertarDatos(fichero);
break;
case 2:
ReemplazarLinea(fichero);
break;
case 3:
VerDatos(fichero);
break;
case 4:
AgregarLinea(fichero);
break;
case 5:
BuscarPalabra(fichero);
break;
case 6:
SalvarArchivo(fichero);
break;
case 7:
exit=1;
break;
default:
printf("nopcion no valida");
}
return 0;
}
void menu1()
{
printf("n1. Crear nuevo texto");
printf("n2. Abrir un texto ya existente");
}
void menu2()
{
printf("ntMenu:");
printf("ntt1. Insertar texto");
printf("ntt2. Reemplazar una linea de texto");
printf("ntt3. Mostar las lineas de texto en pantalla");
printf("ntt4. Agregar una linea al final");
printf("ntt5. Buscar palabra");
printf("ntt6. Salvar edicion en disco");
printf("ntt7. Salir");
}
void CrearFichero(FILE *Fichero)
{
Fichero = fopen("fichero", "r");
if(!Fichero)
{
Fichero = fopen("fichero", "w");
printf("nArchivo creado!");
}
else
{
printf("nEl fichero ya existe!");
}
fclose (Fichero);
return;
}
void AbrirFichero(FILE *Fichero)
{
printf("nPor favor indique la ubicacion de archivo:");
Fichero = fopen("fichero", "r");
if(Fichero==NULL)
{
printf("nArchivo no existe");
}
else
{
}
fclose (Fichero);
return;
}
void InsertarDatos(FILE *Fichero)
{
Fichero = fopen("fichero", "a+");
if(Fichero == NULL)
{
printf("nFichero no existe! nPor favor creelo");
return;
}
printf("nDigita el texto: ");
scanf("%s",registro.texto);
fwrite(®istro, sizeof(struct sRegistro), 1, Fichero);
fclose(Fichero);
return;
}
void ReemplazarLinea(FILE *Fichero);
{}
void VerDatos(FILE *Fichero)
{
Fichero = fopen("fichero", "r");
if(Fichero == NULL)
{
printf("nFichero no existe! nPor favor creelo");
return;
}
fread(®istro, sizeof(struct sRegistro), 1, Fichero);
while(!feof(Fichero))
{
printf("%s",registro.texto);
fread(®istro, sizeof(struct sRegistro), 1, Fichero);
}
fclose(Fichero);
return;
}
void AgregarLinea(FILE *Fichero);
{}
void BuscarPalabra(FILE *Fichero);
{}
void SalvarArchivo(FILE *Fichero);
{}