---
title: "fopen | open.mp"
description: "Abra um arquivo (para ler ou gravar)."
canonical: https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fopen
language: pt-BR
---

# fopen

## Descrição

Abra um arquivo (para ler ou gravar).

| Nome | Descrição |
| --- | --- |
| const filename\[\] | O caminho para o arquivo a ser aberto (se apenas um nome de arquivo for especificado, ele abrirá o arquivo com o nome especificado na pasta 'scriptfiles'). |
| [filemode:mode](https://omp.itsneufox.com/pt-BR/docs/scripting/resources/file-modes) | O modo para abrir o arquivo (padrão: io\_readwrite). |

## Retornos

Retorna o identificador do arquivo. Este identificador é usado para leitura e escrita.

0 se não conseguir abrir o arquivo.

## Exemplos

**modo io\_read:**

```c
// Abra "file.txt" no modo "somente leitura"
new File:handle = fopen("file.txt", io_read);

// Inicialize "buf"
new buf[128];

// Verifique se o arquivo está aberto
if (handle)
{
    // Sucesso

    // Leia o arquivo inteiro
    while (fread(handle, buf))
    {
        print(buf);
    }

    // Feche o arquivo
    fclose(handle);
}
else
{
    // Erro
    print("The file \"file.txt\" does not exists, or can't be opened.");
}
```

  

**modo io\_write:**

```c
// Abra "file.txt" no modo "somente escrita"
new File:handle = fopen("file.txt", io_write);

// Verifique se o arquivo está aberto
if (handle)
{
    // Sucesso

    // Escreva "I just wrote here!" neste arquivo
    fwrite(handle, "I just wrote here!");

    // Feche o arquivo
    fclose(handle);
}
else
{
    // Erro
    print("Failed to open file \"file.txt\".");
}

```

  

**modo io\_readwrite:**

```c
// Abra "file.txt" no modo "leitura e escrita"

new File:handle = fopen("file.txt", io_readwrite);

// Inicialize "buf"
new buf[128];

// Verifique se o arquivo está aberto
if (handle)
{
    // Sucesso

    // Leia o arquivo inteiro
    while (fread(handle, buf))
    {
        print(buf);
    }

    // Defina o ponteiro do arquivo para o primeiro byte
    fseek(handle, _, seek_begin);

    // Escreva "I just wrote here!" neste arquivo
    fwrite(handle, "I just wrote here!");

    // Feche o arquivo
    fclose(handle);
}
else
{
    // Erro
    print("The file \"file.txt\" does not exists, or can't be opened.");
}
```

  

**modo io\_append:**

```c
// Abra "file.txt" no modo "somente acréscimo"
new File:handle = fopen("file.txt", io_append);

// Verifique se o arquivo está aberto
if (handle)
{
    // Sucesso

    // Anexar "Isto é um texto.\r\n"
    fwrite(handle, "This is a text.\r\n");

    // Feche o arquivo
    fclose(handle);
}
else
{
    // Erro
    print("Failed to open file \"file.txt\".");
}
```

## Notas

aviso

-   Esta função não pode acessar arquivos fora da pasta 'scriptfiles'!
-   Se você usar `io_read` e o arquivo não existir, ele retornará uma referência NULL. Usar referências inválidas em funções de arquivo irá travar seu servidor!

## Funções Relacionadas

-   [fclose](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fclose): Fecha um arquivo.
-   [ftemp](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/ftemp): Crie um fluxo de arquivo temporário.
-   [fremove](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fremove): Remove um arquivo.
-   [fwrite](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fwrite): Grava em um arquivo.
-   [fread](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fread): Leia um arquivo.
-   [fputchar](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fputchar): Coloca um caractere em um arquivo.
-   [fgetchar](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fgetchar): Obtenha um caractere de um arquivo.
-   [fblockwrite](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fblockwrite): Grava blocos de dados em um arquivo.
-   [fblockread](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fblockread): Lê blocos de dados de um arquivo.
-   [fseek](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fseek): Salta para um caractere específico em um arquivo.
-   [flength](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/flength): Obtenha o comprimento do arquivo.
-   [fexist](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fexist): Verifica se existe um arquivo.
-   [fmatch](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fmatch): Verifica se os padrões com um nome de arquivo correspondem.
-   [ftell](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/ftell): Obtenha a posição atual no arquivo.
-   [fflush](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fflush): Descarregue um arquivo no disco (certifique-se de que todas as gravações foram concluídas).
-   [fstat](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fstat): Retorna o tamanho e o carimbo de data/hora de um arquivo.
-   [frename](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/frename): Renomeia um arquivo.
-   [fcopy](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fcopy): Copia um arquivo.
-   [filecrc](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/filecrc): Retorna o valor CRC de 32 bits de um arquivo.
-   [fattrib](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fattrib): Defina os atributos do arquivo.
-   [fcreatedir](https://omp.itsneufox.com/pt-BR/docs/scripting/functions/fcreatedir): Crie um diretório.

## Recursos relacionados

-   [Modos de arquivo](https://omp.itsneufox.com/pt-BR/docs/scripting/resources/file-modes)
