Ir ao conteúdo
  • Cadastre-se

C É possivel salvar o resultado de um programa em C?


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

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

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

×
×
  • Criar novo...