NAME fprintf - formatted print to a file SYNOPSIS fprintf(fd, fmt, x_1, x_2, ...) TYPES fd file fmt string x_1, x_2, ... any return null DESCRIPTION This prints to the file fd exactly what would be printed to the standard output by printf(fmt, x_1, x_2, ...). EXAMPLE ; fprintf(files(1), "h=%d, i=%d\n", 2, 3); h=2, i=3 ; c = config("epsilon", 1e-6); c = config("display", 6); ; c = config("tilde", 1); c = config("outround", 0); ; c = config("fullzero", 0); ; fmt = "%f,%10f,%-10f,%10.4f,%.4f,%.f.\n"; ; a = sqrt(3); ; fprintf(files(2), fmt,a,a,a,a,a,a); 1.732051, 1.732051,1.732051 , ~1.7320,~1.7320,~1. ; file = fopen("/tmp/foo", "w"); ; mat A[4] = {sqrt(2), 3/7, "undefined", null()}; ; fprintf(file, "%f%r",A,A); ; fclose(file); ; !cat /tmp/foo mat [4] (4 elements, 4 nonzero): [0] = 1.4142135623730950488 [1] = ~.42857142857142857142 [2] = "undefined" [3] = NULL mat [4] (4 elements, 4 nonzero): [0] = 1767766952966368811/1250000000000000000 [1] = 3/7 [2] = "undefined" [3] = NULL ; /* * NOTE: When displaying many digits after the decimal point * be sure to set display(digits) (see 'help display') to * large enough AND to set epsilon(eps) (see 'help epsilon') * small enough (or if the function has a esp argument, * give a eps argument that is small enough) to display * the value correctly. */ ; config("tilde", 1),; ; /* NOTE: display has too few digits and epsilon is not small enough */ ; display(12),; ; fprintf(files(1), "%f\n", pi(1e-10)); 3.1415926536 ; epsilon(1e-10),; ; fprintf(files(1), "%f\n", pi()); 3.1415926536 ; /* NOTE: display has too few digits yet epsilon is small enough */ ; display(12),; ; fprintf(files(1), "%f\n", pi(1e-72)); ~3.141592653590 ; epsilon(1e-72),; ; fprintf(files(1), "%f\n", pi()); ~3.141592653590 ; /* NOTE: display has enough digits but epsilon is not small enough */ ; display(72),; ; fprintf(files(1), "%f\n", pi(1e-10)); 3.1415926536 ; epsilon(1e-10),; ; fprintf(files(1), "%f\n", pi()); 3.1415926536 /* NOTE: display has enough digits and epsilon is small enough */ ; display(72),; ; fprintf(files(1), "%f\n", pi(1e-72)); 3.141592653589793238462643383279502884197169399375105820974944592307816406 ; epsilon(1e-72),; ; fprintf(files(1), "%f\n", pi()); 3.141592653589793238462643383279502884197169399375105820974944592307816406 LIMITS The number of arguments of fprintf() is not to exceed 1024. LINK LIBRARY none SEE ALSO config, display, epsilon, printf, strprintf ## Copyright (C) 1999-2006,2018 Landon Curt Noll ## ## Calc is open software; you can redistribute it and/or modify it under ## the terms of the version 2.1 of the GNU Lesser General Public License ## as published by the Free Software Foundation. ## ## Calc is distributed in the hope that it will be useful, but WITHOUT ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General ## Public License for more details. ## ## A copy of version 2.1 of the GNU Lesser General Public License is ## distributed with calc under the filename COPYING-LGPL. You should have ## received a copy with calc; if not, write to Free Software Foundation, Inc. ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ## ## Under source code control: 1996/03/12 22:50:41 ## File existed as early as: 1996 ## ## chongo /\oo/\ http://www.isthe.com/chongo/ ## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/