Ir ao conteúdo

Posts recomendados

Postado

Analise esse exemplo e veja se entende:

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

FILE *abrir(char *nomeArquivo);

void fechar(FILE *arquivo);

bool escrever(FILE *arquivo, char *conteudo);

int main() {
    char *nomeArquivo = "";
    FILE *arquivo = abrir(nomeArquivo);
    
    if (arquivo == NULL) {
        printf("[ E ]: Algo deu errado ao abrir o arquivo: '%s'. \n", nomeArquivo);
        return EXIT_FAILURE;
    }

    escrever(arquivo, "");
    fechar(arquivo);

    return EXIT_SUCCESS;
}

/**
 * Abre uma stream para um arquivo em modo de concatenacao. Se o arquivo nao
 * existir, ele sera criado.
 *
 * Se o nome for nulo ou vazio, entao um ponteiro nulo sera retornado.
 *
 * @param nomeArquivo Nome do arquivo que sera aberto.
 *
 * @return Ponteiro para o arquivo ou null.
 */
FILE *abrir(char *nomeArquivo) {
    if (nomeArquivo == NULL || strlen(nomeArquivo) == 0) {
        printf("[ E ]: Forneca um nome valido para o arquivo. \n");
        return NULL;
    }

    return fopen(nomeArquivo, "a");
}

/**
 * Fecha a stream usada pelo arquivo.
 *
 * @param arquivo Arquivo que sera fechado.
 */
void fechar(FILE *arquivo) {
    if (arquivo != NULL) {
        fclose(arquivo);
    }
}

/**
 * Concatena o conteudo no final do arquivo. Se o arquivo nao estiver aberto a
 * operacao e cancelada e FALSE e retornado.
 *
 * Uma nova linha em branco e adicionada automaticamente ao final do arquivo.
 *
 * @param arquivo Arquivo onde sera escrito.
 * @param conteudo Conteudo para ser escrito.
 *
 * @returns TRUE se a escrita foi bem sucedida ou FALSE caso contrario.
 */
bool escrever(FILE *arquivo, char *conteudo) {
    if (arquivo == NULL) {
        printf("[ E ]: Arquivo nao esta aberto. \n");
        return false;
    }

    fprintf(arquivo, "%s\n", conteudo);
    return true;
}

 

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...