Manipulando Arquivo de Texto

Pede-se a implementação de uma aplicação que
manipule um arquivo texto, permitindo a realização
das seguintes operações:
1. Inserção:
a) Inserção ao final do arquivo: o usuário
informará a linha (string) a ser inserida e
esta será adicionada ao final do arquivo;
b) Inserção em posição determinada: além
da string, o usuário deve informar em que
posição deseja a inserir. Caso seja uma
linha inválida e positiva, adicionar a linha
ao final do arquivo.
2. Remoção:
a) Remoção de uma linha: o usuário deve
fornecer um número de linha válido;
b) Remoção das ocorrências de um caracter:
dado um caracter, todas as suas
ocorrências no arquivo devem ser
removidas;
c) Remoção de um bloco de linhas: dados os
valores de L1 e L2, remover o bloco de
linhas delimitado pelas linhas L1 e L2.
Obs: caso L1 exceda o número de linhas
do arquivo, nada será removido; caso L2
seja superior ao total de linhas, todas as
linhas a partir de L1 devem ser removidas;
d) Remoção de um grupo de caracteres:
dados os valores de P1 e T1, remover T1
caracteres do arquivo a partir do P1-ésimo
caracter.
3. Alteração:
a) Permuta de linhas: troca de posição o
conteúdo das linhas L1 e L2, desde que
estes sejam números de linhas válidos.
4. Busca:
a) Busca de caracter: retornar o número de
ocorrências do caracter no arquivo;
b) Busca de palavra: retornar o número de
ocorrências da palavra no arquivo;
5. Tamanho:
a) Retornar o número de caracteres do
arquivo.
Observações