BUF_TO_STRING

Copia o número de bytes (caracteres) especificado do buffer BUF para a string STR, retornando -1 quando a string não comporta o conteúdo solicitado. É uma função (sem estado; não requer instância).

Biblioteca: HI_STD · Namespace: HILS · Tipo: função

Função

            BUF_TO_STRING
           +-------------+
  UINT ----|LEN          |
           |             |
   ANY ----|BUF          |
           |             |
STRING ----|STR -------- |----
           +-------------+

A função transfere LEN bytes do vetor BUF para a string STR. Se o comprimento solicitado exceder a capacidade da string de destino, nenhuma cópia é efetuada e a função retorna -1; caso contrário, retorna SUCCESS (0).

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

LEN

IN

UINT

—

bytes

Número de bytes a serem copiados para a string.

BUF

IN

ANY

—

—

Vetor de dados a ser transferido para a string.

STR

IN_OUT

STRING

—

—

String que recebe o conteúdo de BUF.

Retorno / Saídas

Retorna um INT:

  • SUCCESS (0) — operação realizada com sucesso.

  • -1 — a string de destino é menor que o tamanho a ser copiado (nenhuma cópia efetuada).

Pré-condições

  • A string STR deve ter capacidade suficiente para receber LEN bytes.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    len    : UINT := 30;            (* Nro de bytes a serem copiados *)
    my_buf : ARRAY [0..29] OF SINT; (* Buffer a ser copiado *)
    my_str : STRING;                (* String a receber BUF *)
    ret    : INT;                   (* Retorno da função *)
END_VAR

(* Exemplo de ativação da função dentro da POU *)
ret := HILS.BUF_TO_STRING(len, my_buf, my_str);
IF (ret = -1) THEN
  (* Trata erro na conversão. Tamanho inválido. *)
END_IF;