# HG changeset patch # User Mike Becker # Date 1525279324 -7200 # Node ID ee37b179e597ecda8427c868b23ea3b4ae4ba694 # Parent 7b9170c22786dbf77c9c4cb66681a63d5cb926fc doc: MWE for ucx_stream_copy() diff -r 7b9170c22786 -r ee37b179e597 docs/src/modules.md --- a/docs/src/modules.md Wed May 02 18:10:00 2018 +0200 +++ b/docs/src/modules.md Wed May 02 18:42:04 2018 +0200 @@ -288,3 +288,35 @@ We also provide several `printf` variants to conveniently print formatted data to streams or strings. +### A simple copy program + +The utilities package provides several stream copy functions. +One of them has a very simple interface and can, for instance, be used to copy +whole files in a single call. +This is a minimal working example: +```C +#include +#include + +int main(int argc, char** argv) { + + if (argc != 3) { + fprintf(stderr, "Use %s ", argv[0]); + return 1; + } + + FILE *srcf = fopen(argv[1], "r"); // insert error handling on your own + FILE *destf = fopen(argv[2], "w"); + + size_t n = ucx_stream_copy(srcf, destf, fread, fwrite); + printf("%zu bytes copied.\n", n); + + fclose(srcf); + fclose(destf); + + + return 0; +} +``` + +