fprintf
تابع fprintf یک رشته قالب بندی شده می نویسد. سپس خروجی را در «جریان (Stream)» مثل فایل ذخیره می کند. الگو با «نشانه %» کار می کند و هر نشانه یک مقدار می گیرد.
تعریف و کاربرد
fprintf() رشته را طبق الگو می نویسد. مقادیر arg1، arg2 و ... به ترتیب جایگزین اولین، دومین، و ... نشانه % می شوند. اگر نشانه ها بیشتر از آرگومان ها بود، باید «جای نگهدار (Placeholder)» مثل %1$ استفاده شود.
سینتکس
fprintf(stream, format, arg1, arg2, ...)
مثال 1: نوشتن متن قالبی در فایل
<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt", "w");
echo fprintf($file, "There are %u million bicycles in %s.", $number, $str);
?>
نکته: خروجی تابع طول رشته نوشته شده است. متن قالبی داخل فایل ذخیره می شود.
مثال 2: قالب عددی با %f
<?php
$number = 123;
$file = fopen("test.txt", "w");
fprintf($file, "%f", $number);
?>
نکته: %f عدد اعشاری می نویسد. تعداد رقم های اعشار را می توان با %.2f تعیین کرد.
مثال 3: استفاده از جای نگهدارها
<?php
$number = 123;
$file = fopen("test.txt", "w");
fprintf(
$file,
"With 2 decimals: %1$.2f\nWith no decimals: %1$u",
$number
);
?>
هشدار: ترتیب مقادیر اضافی باید طبق همین الگو باشد: +، سپس ' برای پَدینگ، سپس -، سپس عرض، و بعد دقت.
نمونه ای از نشانه ها
%s: رشته.%u: عدد بدون علامت.%d: عدد صحیح با علامت.%f/%F: عدد اعشاری.%x/%X: هگزادسیمال.%%: علامت درصد.
گام های عملی
- فایل را با
fopenباز کن. - الگو را با نشانه های درست بنویس.
- با
fprintfمقادیر را ثبت کن.
نکته: برای چاپ روی خروجی استاندارد، از printf استفاده کن. همچنین sprintf رشته را برمی گرداند.
جمع بندی سریع
fprintfمتن قالبی را در فایل می نویسد.- خروجی آن طول رشته نوشته شده است.
- نشانه ها را درست و به ترتیب بگذار.
- جای نگهدارها یک آرگومان را چندبار می سازند.