Vely logo install | documentation | examples | articles | changelog
16.6.0 released on Mar 08, 2023 | articles updated on Mar 20, 2023

pf-out


Purpose: Outputs a formatted string without encoding.

pf-out [ bytes-written [ define ] <bytes> ] [ to-error ] <format> <expression> [ , <expression> ]...
pf-out formats a string according to the <format> string and a list of variable-type <expression>s (in the same way C's "printf()" does) and then outputs the result without any encoding (meaning a string is output exactly as it is, and the client may interpret such text in any way it sees fit). The result is sent to a client that made the request. If another string is built by using write-string, then the result is output into the buffer that builds a new string.

<format> string must be present. If you'd like to know the number of bytes written out, use the optional "bytes-written" clause prior to <format>, in which case <bytes> holds the number of bytes written. If this variable is not defined, use "define" clause to create it within the statement. There must be at least one <expression> (it means if you want to print out a simple string literal you still have to use "%s" as format).

If the optional "to-error" clause is used, the output is sent to "stderr", or standard output stream.

Examples

To output data (the string output is "the number is 20" and the number of bytes written is in variable "bwritten"):
pf-out bytes-written define bwritten "%s is %d", "the number", 20
The following is writing to client, outputting text for which the browser will interpret tags "<br/>" and "<hr/>" as a line break and a horizontal line and display them as such:
pf-out "<hr/> %s <br/>", "This is a non-encoded output"
Create a query text string by means of write-string statement:
void get_table_data (const char *table_name, num id_num)
{

   //
   // Construct the run-time text of dynamic SQL
   //
   write-string define qry_txt
   @select * from <<pf-out "%s where id="%lld", table_name, id_num>>
   end-write-string
 
}

See also

Output ( finish-output   flush-output   output_statement   p-dbl   pf-out   pf-url   pf-web   p-num   p-out   p-path   p-url   p-web  )  SEE ALL (documentation)


Copyright (c) 2017-2023 DaSoftver LLC. Vely is a trademark of Dasoftver LLC. The software and information herein are provided "AS IS" and without any warranties or guarantees of any kind. Vely elephant logo (c) 2022 DaSoftver LLC. This web page is licensed under CC-BY-SA-4.0. Contact email vely@vely.dev.