Ftemp PT

From SA-MP Wiki

Jump to: navigation, search

ftemp

Image:Farm-Fresh text lowercase.png Nota: O nome desta função começa com uma letra minúscula.


Descrição:

Cria um arquivo temporário na pasta tmp, temp ou na pasta raiz com um nome aleatório para leitura e escrita. O arquivo é deletado depois que a função fclose é usada.


Parâmetros:
Esta função não tem parâmetros.


Valores de retorno:

O identificador do arquivo temporário. 0 se falhar.


Image:32px-Circle-style-warning.png

Nota
Importante

Esta função pode crashar o servidor se o diretório não for criado.


Exemplo de uso:

// Cria o arquivo temporário
new File:t_handle = ftemp(),
 
    // Declara a variável 'handle'
    File:handle,
 
    // Declara a variável 'g_char'
    g_char;
 
// Verifica se o arquivo temporário foi aberto
if(t_handle)
{
    // O arquivo foi aberto
 
    // Abre o arquivo 'file.txt' no modo de leitura e verifica se o arquivo foi aberto
    if(handle = fopen("file.txt", io_read))
    {
    	//Pega todos os caracteres do arquivo 'file.txt'
        while((g_char = fgetchar(handle, 0, false)) != EOF)
        {
            // Escreve o caractere em letra minuscula no arquivo temporário
            fputchar(t_handle, tolower(g_char), false);
        }
 
        // Fecha o arquivo 'file.txt'
        fclose(handle);
 
        // Seta um ponteiro no primeiro byte do arquivo
        fseek(t_handle, _, seek_begin);
 
        // Abre o arquivo 'file1.txt' no modo de escrita e verifica se o arquivo foi aberto
        if(handle = fopen("file1.txt", io_write))
        {
            // O arquivo foi aberto
 
            // Pega todos os caracteres do arquivo temporário
            while((g_char = fgetchar(t_handle, 0, false)) != EOF)
            {
                // Escreve os caracteres no arquivo 'file1.txt'
                fputchar(handle, g_char, false);
            }
 
            // Fecha o arquivo 'file1.txt'
            fclose(handle);
 
            // Seta um ponteiro no primeiro byte do arquivo temporário
            fseek(t_handle, _, seek_begin);
        }
        else
        {
            // Falha ao tentar abrir o arquivo
            print("Falha ao tentar abrir o arquivo \"file1.txt\".");
        }
 
        // Abre o arquivo 'file2.txt' em modo de escrita e verifica se o arquivo foi aberto
        if(handle = fopen("file2.txt", io_write))
        {
            // O arquivo foi aberto
 
            // Pega todos os caracteres do arquivo tempporário
            while((g_char = fgetchar(t_handle, 0, false)) != EOF)
            {
                // Escreve os caracteres no arquivo 'file2.txt'
                fputchar(handle, g_char, false);
            }
 
            // fecha o arquivo 'file2.txt'
            fclose(handle);
        }
        else
        {
            // Falha ao abrir o arquivo
            print("Falha ao tentar abrir o arquivo \"file2.txt\".");
        }
    }
    else
    {
        // Falha ao abrir o arquivo
        print("Falha ao tentar abrir o arquivo \"file.txt\".");
    }
 
    // Fecha o arquivo temporário
    fclose(t_handle);
}
else
{
    // Falha ao tentar criar o arquivo
    print("Falha ao tentar criar o arquivo temporário.");
}

Funções Relacionadas

As seguintes funções podem ser úteis, pois estão de alguma forma, relacionadas a esta função.


  • fopen: Abre um arquivo.
  • ftemp: Cria um arquivo temporário.
  • fwrite: Escreve em um arquivo aberto.
  • fputchar: Coloca um caractere dentro do arquivo.
  • fgetchar: Pega um caractere de dentro do arquivo.
  • fblockread: Lê blocos de dados de dentro de um arquivo.
  • fseek: Pula para uma determinada posição no arquivo.
  • flength: Pega o tamanho de um arquivo.
  • fexist: Verifica se um arquivo existe.
  • fmatch: Verifica se os padrões com um nome de arquivo correspondem.
Personal tools
Navigation
Toolbox