Você está na página 1de 5

#include <stdio.

h>

void criptografarCesar(char senha[], int chave) {


for (int i = 0; senha[i] != '\0'; i++) {
if (senha[i] >= 'A' && senha[i] <= 'Z') {
senha[i] = (senha[i] - 'A' + chave) % 26 + 'A';
} else if (senha[i] >= 'a' && senha[i] <= 'z') {
senha[i] = (senha[i] - 'a' + chave) % 26 + 'a';
}
}
}

int main() {
FILE *arquivo;
char senha[100];
int chave;

// Abre o arquivo
arquivo = fopen("senha.txt", "r");

// Verifica se o arquivo foi aberto corretamente


if (arquivo == NULL) {
printf("Erro ao abrir o arquivo.\n");
return 1;
}

// Lê cada senha do arquivo, criptografa e imprime na tela


while (fscanf(arquivo, "%s", senha) != EOF) {
// Solicita a chave ao usuário (pode ser fixa ou lida de um arquivo)
printf("Digite a chave para criptografia: ");
scanf("%d", &chave);
printf("cripitrogafada: %s\n", senha);

// Chama a função para criptografar a senha


criptografarCesar(senha, chave);

// Imprime a senha criptografada


printf("Senha criptografada: %s\n", senha);
}

// Fecha o arquivo
fclose(arquivo);

return 0;
}

//////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>

int main() {

// Abrir os arquivos de entrada e saída


FILE *arquivo1 = fopen("arquivo1.txt", "r");
FILE *arquivo2 = fopen("arquivo2.txt", "r");
FILE *arquivo3 = fopen("arquivo3.txt", "w");

// Verificar se os arquivos foram abertos corretamente


if (arquivo1 == NULL || arquivo2 == NULL || arquivo3 == NULL) {
printf("Erro ao abrir os arquivos.\n");
exit(EXIT_FAILURE);
}

// Mesclar os arquivos
char linha[100];

while (fgets(linha, sizeof(linha), arquivo1) != NULL) {


if (fputs(linha, arquivo3) == EOF) {
printf("Erro ao escrever no arquivo de saída.\n");
exit(EXIT_FAILURE);
}
}
fputs("\n", arquivo3);

while (fgets(linha, sizeof(linha), arquivo2) != NULL) {


if (fputs(linha, arquivo3) == EOF) {
printf("Erro ao escrever no arquivo de saída.\n");
exit(EXIT_FAILURE);
}
}

// Fechar os arquivos
fclose(arquivo1);
fclose(arquivo2);
fclose(arquivo3);

printf("Mesclagem concluída com sucesso. Verifique o arquivo .\n");

return 0;
}

///////////////////////////////////////////////

#include <stdio.h>
//com ponteiro
void converterMaiusculas(char *str) {
while (*str != '\0') {
if (*str >= 'a' && *str <= 'z') {
*str = *str - 32; // Subtrai 32 para converter para maiúscula na tabela
ASCII
}
str++;
}
}

//se ponteiro
void converterMaiusculas02(char str[]) {
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = str[i] - 32;
}
}
}

int main() {
char minhaString[100];

printf("Digite uma string em letras minúsculas: ");


scanf("%99[^\n]", minhaString);

converterMaiusculas(minhaString);

printf("A string em letras maiúsculas é: %s\n", minhaString);

return 0;
}

////////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>

void substituirLinha(char *nomeArquivo, int numeroLinha, char *novoTexto) {


FILE *arquivoEntrada, *arquivoTemp;
char linha[100];
int contador = 1;

// Abre o arquivo de entrada para leitura


arquivoEntrada = fopen(nomeArquivo, "r");
if (arquivoEntrada == NULL) {
printf("Erro ao abrir o arquivo de entrada.\n");
exit(EXIT_FAILURE);
}

// Abre um arquivo temporário para escrita


arquivoTemp = fopen("temporario.txt", "w");
if (arquivoTemp == NULL) {
printf("Erro ao abrir o arquivo temporário.\n");
fclose(arquivoEntrada);
exit(EXIT_FAILURE);
}

// Lê linha por linha do arquivo de entrada


while (fgets(linha, sizeof(linha), arquivoEntrada) != NULL) {
// Se a linha atual é a que deve ser substituída, escreve o novo texto
if (contador == numeroLinha) {
fprintf(arquivoTemp, "%s\n", novoTexto);
} else {
fprintf(arquivoTemp, "%s", linha);
}

contador++;
}

// Fecha os arquivos
fclose(arquivoEntrada);
fclose(arquivoTemp);

// Remove o arquivo original


if (remove(nomeArquivo) != 0) {
printf("Erro ao remover o arquivo original.\n");
exit(EXIT_FAILURE);
}

// Renomeia o arquivo temporário para o nome do arquivo original


if (rename("temporario.txt", nomeArquivo) != 0) {
printf("Erro ao renomear o arquivo temporário.\n");
exit(EXIT_FAILURE);
}

printf("Substituição concluída com sucesso.\n");


}

int main() {
char nomeArquivo[100], novoTexto[100];
int numeroLinha;

// Solicita ao usuário o nome do arquivo, o número da linha e o novo texto


printf("Digite o nome do arquivo: ");
scanf("%s", nomeArquivo);

printf("Digite o número da linha a ser substituída: ");


scanf("%d", &numeroLinha);

printf("Digite o novo texto: ");


scanf(" %[^\n]", novoTexto);

// Chama a função para substituir a linha


substituirLinha(nomeArquivo, numeroLinha, novoTexto);

return 0;
}

//////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>

void removerLinhasVazias(char *nomeArquivo) {


FILE *arquivo;
char linha[100];
FILE *arquivoTemp;

// Abre o arquivo para leitura e escrita


arquivo = fopen(nomeArquivo, "r");
if (arquivo == NULL) {
printf("Erro ao abrir o arquivo.\n");
}

// Abre um arquivo temporário para escrita


arquivoTemp = fopen("temporario.txt", "w");
if (arquivoTemp == NULL) {
printf("Erro ao abrir o arquivo temporário.\n");
fclose(arquivo);
}
// Lê linha por linha do arquivo de entrada
while (fgets(linha, sizeof(linha), arquivo) != NULL) {
// Se a linha não for vazia, escreve no arquivo temporário
if (linha[0] != '\n') {
fprintf(arquivoTemp, "%s", linha);
}
}

// Fecha os arquivos
fclose(arquivo);
fclose(arquivoTemp);

// Remove o arquivo original


if (remove(nomeArquivo) != 0) {
printf("Erro ao remover o arquivo original.\n");
exit(EXIT_FAILURE);
}

// Renomeia o arquivo temporário para o nome do arquivo original


if (rename("temporario.txt", nomeArquivo) != 0) {
printf("Erro ao renomear o arquivo temporário.\n");
exit(EXIT_FAILURE);
}

printf("Remoção de linhas vazias concluída com sucesso.\n");


}

int main() {
char nomeArquivo[100];

// Solicita ao usuário o nome do arquivo


printf("Digite o nome do arquivo de texto: ");
scanf("%s", nomeArquivo);

// Chama a função para remover linhas vazias


removerLinhasVazias(nomeArquivo);

return 0;
}

Você também pode gostar