Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ALGUÉM PODERIA ME AJUDAR NO MEU CÓDIGO??

Bom dia! Boa tarde! Boa noite pra você que está visualizando esta enquete! Eu gostaria de saber o porquê não consigo criar um arquivo em TXT para inserir palavras ou textos pequenos! Aguém poderia me ajudar?? Observação: código feito no Codeblocks num PC com Windows 10 instalado.

#include <stdio.h>
#include <stdlib.h>
int main()
{
    system("TITLE WORD-ESCRITA");
    system("COLOR 8D");
    char resposta;
    printf("*******************************************************************************************************************************************************\n");
    printf("*******************************************************************WORD-ESCRITA************************************************************************\n");
    printf("*******************************************************************************************************************************************************\n");
    printf("\nDESEJA FAZER UM TEXTO - S/N?");
    scanf(" %c", &resposta);
    if((resposta == 'S') || (resposta == 's')){
        char texto[20];
        FILE* arquivo;
        arquivo = fopen("TEXTO.TXT", "r+");
        if(arquivo == 0){
            printf("\nDESCULPE MAS DEU ERRO NO PROGRAMA!");
            exit(1);
        }
        fprintf(arquivo, "\n%s", texto);
        int quantidade;
        fscanf(arquivo, "%d", &quantidade);
        quantidade++;
        fseek(arquivo, 0, SEEK_SET);
        fprintf(arquivo, "%d", quantidade);
        fseek(arquivo, 0, SEEK_END);
        fprintf(arquivo, "%s", texto);
        fclose(arquivo);
    }else{
        printf("\nOK OBRIGADO!");
    }
    return 0;
}
2 respostas
solução!

Olá, Wagner. Tudo bem?

A função fopen é usada para abertura de arquivos, e ela recebe dois parâmetros:

  • 1º parâmetro: Indica qual o nome do arquivo que deverá ser aberto.
  • 2º parâmetro: Indica qual o modo de abertura deste arquivo, ou seja, qual o uso você vai fazer deste arquivo.

No seu código:

 arquivo = fopen("TEXTO.TXT", "r+");

Veja que você colocou no segundo parâmetro r+, este modo abre um arquivo texto para leitura e gravação, entretanto, este arquivo já deve existir em seu computador.

Se você desejar criar o arquivo com algum conteúdo de texto, você deve usar o w+ que cria um arquivo de texto para leitura e gravação da seguinte maneira:

 arquivo = fopen("TEXTO.TXT", "w+");

Convido você dar uma lida nessa documentação que aborda os tipos de modos de aberturas de arquivos:

Espero ter ajudado!

Qualquer dúvida estou à disposição, bons estudos :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Obrigado pela dica, mas pena que mesmo assim não deu certo!!