{"id":19232917,"url":"https://github.com/mikeduglas/printf","last_synced_at":"2026-03-01T17:34:36.219Z","repository":{"id":44614769,"uuid":"170379847","full_name":"mikeduglas/printf","owner":"mikeduglas","description":"Convenient string formatting.","archived":false,"fork":false,"pushed_at":"2025-10-22T17:29:52.000Z","size":35,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-22T19:26:27.706Z","etag":null,"topics":["clarion","printf"],"latest_commit_sha":null,"homepage":"","language":"Clarion","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikeduglas.png","metadata":{"files":{"readme":"README.md","changelog":"changes.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-12T19:41:37.000Z","updated_at":"2025-10-22T17:29:55.000Z","dependencies_parsed_at":"2025-02-23T11:41:31.337Z","dependency_job_id":"0ba7c51f-4e8b-47ef-bf9d-942157a35b57","html_url":"https://github.com/mikeduglas/printf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mikeduglas/printf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2Fprintf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2Fprintf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2Fprintf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2Fprintf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikeduglas","download_url":"https://codeload.github.com/mikeduglas/printf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeduglas%2Fprintf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29976279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:35:47.903Z","status":"ssl_error","status_checked_at":"2026-03-01T16:35:44.899Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clarion","printf"],"created_at":"2024-11-09T16:07:59.078Z","updated_at":"2026-03-01T17:34:31.207Z","avatar_url":"https://github.com/mikeduglas.png","language":"Clarion","readme":"# printf\r\n\r\nFunction *printf* returns the string pointed by 1st argument pFmt.  \r\nIf pFmt includes format specifiers (subsequences beginning with %),  \r\nthe additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.  \r\n\r\nFunction *printd* outputs formatted string into debug log.  \r\n  \r\n  \r\n## Format specifiers\r\n```\r\n%% - a single % (percent sign)\r\n%c - a character (first character of passed argument)\r\n%C - a Character in upper case (first character of passed argument)\r\n%s - a CLIPped string\r\n%S - a quoted CLIPped string\r\n%z - a not clipped string\r\n%Z - a quoted not clipped string\r\n%b - a boolean (true/false)\r\n%B - a boolean (TRUE/FALSE)\r\n%i - an integer\r\n%I - signed integer (with leading + for positive argument)\r\n%x - an int in hex (lower case)\r\n%X - an int in HEX (UPPER CASE)\r\n%f - a float\r\n%e - a float in scientific notation (default picture token: @E15.4)\r\n%d - a date (default picture token: @d17, Windows setting for Short date)\r\n%t - a time (default picture token: @t7, Windows setting for Short time)\r\n%u - an url encoded string (the spaces get encoded to %20)\r\n%U - an url encoded string (the spaces get encoded to '+' sign)\r\n%v - a base64 encoded string\r\n%w - a base64 decoded string\r\n%m - an error message returned by ERROR(); don't pass smth\r\n%M - an error message returned by FILEERROR(); don't pass smth\r\n%| - CRLF sequence (new line)\r\n```\r\ns,S,z,Z,i,I,f,e,d,t specifiers may have additional picture token.  \r\nPicture token must be any valid Clarion picture token terminated by @.  \r\nFor example: %d@d10-@ - date value formatted as yyyy-mm-dd.\r\n\r\n## How to use\r\nAdd following line inside the global map:  \r\n```\r\n    INCLUDE('printf.inc'), ONCE\r\n```\r\nthen call printf(fmt, ...)  !- up to 21 arguments:\r\n```\r\n  !- CLIPped string\r\n  MESSAGE(printf('Hello %s!', 'world'))\r\n  !- CLIPped string, unCLIPped string, number, hex, HEX\r\n  MESSAGE(printf('%s, %z, %i, %x, %X', 'Some string    ', 'Some string   ', 100, 43981, 43981))\r\n  !- CLIPped quoted 'string', unCLIPped quoted 'string', signed number, formatted number\r\n  MESSAGE(printf('%S, %Z, %I, %i@n12@', 'Some string    ', 'Some string   ', 100, 987654321))\r\n  !- date, time (default format)\r\n  MESSAGE(printf('Current datetime is %d %t', TODAY(), CLOCK()))\r\n  !- date, time (custom format)\r\n  MESSAGE(printf('Current datetime is %d@d1@ %t@t4@', TODAY(), CLOCK()))\r\n  !- float, float in scientific notation\r\n  MESSAGE(printf('%f = %e', 10.0/3.0, 10.0/3.0))\r\n```\r\n\r\n## Requirements  \r\nC6.3 and newer.\r\n\r\n## How to install\r\nHit the 'Code' green button and select 'Download Zip'.  \r\nNow unzip printf-master.zip into a temporary folder somewhere.\r\n\r\nCopy the contents of \"libsrc\" folder into %ClarionRoot%\\Accessory\\libsrc\\win  \r\nwhere %ClarionRoot% is the folder into which you installed Clarion.\r\n\r\n## Contacts\r\n- \u003cmikeduglas@yandex.ru\u003e\r\n- \u003cmikeduglas66@gmail.com\u003e\r\n\r\n## Price\r\nFree\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeduglas%2Fprintf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikeduglas%2Fprintf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeduglas%2Fprintf/lists"}