Escrever dados em um arquivo texto em Portugol é bastante simples. A primeira ação necessária é incluir a biblioteca que possui as funções para escrita em arquivo. Isso pode ser feito com a linha a seguir.
// incluindo a biblioteca de suporte a arquivos inclua biblioteca Arquivos --> a
O caracter “a” após o sinal de maior (>) é apenas um apelido para a biblioteca Arquivos. Assim, toda vez que for necessário chamar qualquer função da biblioteca Arquivos, não precisamos escrever o nome “Arquivos”, basta escrever o apelido “a”.
Incluída a biblioteca, já podemos criar um arquivo para escrita com a função abrir_arquivo. Esta função retorna um inteiro e recebe dois parâmetros, o nome do arquivo que queremos abrir e o modo de abertura do arquivo, assim.
// abrindo um arquivo texto para escrita inteiro arquivo = a.abrir_arquivo("./teste.txt", a.MODO_ESCRITA)
Vamos entender cada parte. O inteiro retornado é o endereço na memória onde está o arquivo (convertido para inteiro obviamente). O primeiro parâmetro é o nome do arquivo que queremos abrir. No exemplo será aberto o arquivo chamado teste.txt. O par de caracteres ./ diz para o computador procurar o arquivo no mesmo diretória onde se encontra nosso arquivo de código. O segundo parâmetro indica o modo de abertura do arquivo que pode ser para: escrita; leitura ou adicionar. Neste caso vamos abrir para escrita.
Um ponto importante a ser observado é que, ao abrir um arquivo no modo escrita, se o arquivo não existir, ele será criado. Contudo, caso ele exista, seu conteúdo será apagado para receber o novo conteúdo.
Ao terminar de escrever é sempre muito importante lembrar de fechar o arquivo. Observe que devemos passar não o nome do arquivo, mas seu endereço, assim:
// fechando o arquivo a.fechar_arquivo(arquivo)
Código em Portugol para escrever em arquivo texto
programa{ inclua biblioteca Arquivos --> a /* Código escrito por Wagner Gaspar Abril de 2021 */ funcao inicio(){ inteiro n = 1 inteiro arquivo = a.abrir_arquivo("./teste.txt", a.MODO_ESCRITA) a.escrever_linha("Esta é a primeira linha no meu arquivo. ", arquivo) a.escrever_linha(""+n, arquivo) n++ a.escrever_linha("Esta é a segunda linha no meu arquivo. ", arquivo) a.escrever_linha(""+n, arquivo) n++ a.escrever_linha("Esta é a terceira linha no meu arquivo. ", arquivo) a.escrever_linha(""+n, arquivo) a.fechar_arquivo(arquivo) } }
Estava tento problemas em armazenar outros tipos de dados além de dados do tipo CADEIA. Muito obrigado pela ajuda!