🔸ترجمه کتابخانه "عملیات ورودی/خروجی (cstdio)" از سایت رسمی برنامه نویسان ++C به آدرس
www.cplusplus.com/reference
@Learncpp
www.cplusplus.com/reference
@Learncpp
#cstdio #cstdio.h
🔵عملیات ورودی/خروجی(cstdio)
🔴کتابخانه cstdio
می توان با استفاده از کتابخانه های ورودی و خروجی استاندارد [c standard input and output (cstdio)] سی پلاس پلاس که حاوی مجموعه ای از امکانات ورودی/خروجی است؛ عملیات های ورودی و خروجی را انجام داد.
این کتابخانه از جریان هایی برای برقراری ارتباط با دستگاه های فیزیکی(مانند صفحه کلید، راه انداز دیسک، پرینتر، ارتباط شبکه ای، صفحه نمایش و ...) استفاده می کند.
🔹جریان ها(Stream) :
در زبان++C ورودی و خروجی در جریان هایی از بایت ها اتفاق می افتد.
جریان تنها دنباله ای از بایت ها است. در عملیات ورودی، بایت ها از یک دستگاه به طرف حافظه اصلی جریان پیدا می کنند.
در عملیات خروجی، بایت ها از حافظه ی اصلی به طرف یک دستگاه جریان می یابند.
جریان ها در کتابخانه stdio به وسیله اشاره گرهایی به فایل ها(شی هایی شامل اطلاعات برای کنترل جریان )به کار گرفته می شود.
یک اشاره گر به فایل، جریان منحصر به فردی است که به عنوان یک پارامتر در عملیات مربوط به آن جریان استفاده می شود.
🔹سه جریان استاندارد وجود دارد :
🔻stdin(standard input stream)
🔻stdout(standard output stream)
🔻stderr(standard error stream)
که به طور خودکار برای برنامه هایی که از کتابخانه ها استفاده می کنند ساخته و باز می شود.
🔹مشخصات جریان
جریان ها دارای خواصی هستند که نشان می دهد کدام توابع می تواند در آنها استفاده شود و چگونه این خواص در داده های ورودی و یا خروجی تاثیر می گذارند.
🔹توابع عملیات بر روی فایل
🔻remove(remove file)
🔻rename(rename file)
🔻tmpfile(open a temporary file)
🔻tmpnam(generate temporary filename)
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵عملیات ورودی/خروجی(cstdio)
🔴کتابخانه cstdio
می توان با استفاده از کتابخانه های ورودی و خروجی استاندارد [c standard input and output (cstdio)] سی پلاس پلاس که حاوی مجموعه ای از امکانات ورودی/خروجی است؛ عملیات های ورودی و خروجی را انجام داد.
این کتابخانه از جریان هایی برای برقراری ارتباط با دستگاه های فیزیکی(مانند صفحه کلید، راه انداز دیسک، پرینتر، ارتباط شبکه ای، صفحه نمایش و ...) استفاده می کند.
🔹جریان ها(Stream) :
در زبان++C ورودی و خروجی در جریان هایی از بایت ها اتفاق می افتد.
جریان تنها دنباله ای از بایت ها است. در عملیات ورودی، بایت ها از یک دستگاه به طرف حافظه اصلی جریان پیدا می کنند.
در عملیات خروجی، بایت ها از حافظه ی اصلی به طرف یک دستگاه جریان می یابند.
جریان ها در کتابخانه stdio به وسیله اشاره گرهایی به فایل ها(شی هایی شامل اطلاعات برای کنترل جریان )به کار گرفته می شود.
یک اشاره گر به فایل، جریان منحصر به فردی است که به عنوان یک پارامتر در عملیات مربوط به آن جریان استفاده می شود.
🔹سه جریان استاندارد وجود دارد :
🔻stdin(standard input stream)
🔻stdout(standard output stream)
🔻stderr(standard error stream)
که به طور خودکار برای برنامه هایی که از کتابخانه ها استفاده می کنند ساخته و باز می شود.
🔹مشخصات جریان
جریان ها دارای خواصی هستند که نشان می دهد کدام توابع می تواند در آنها استفاده شود و چگونه این خواص در داده های ورودی و یا خروجی تاثیر می گذارند.
🔹توابع عملیات بر روی فایل
🔻remove(remove file)
🔻rename(rename file)
🔻tmpfile(open a temporary file)
🔻tmpnam(generate temporary filename)
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#cstdio #cstdio.h #remove
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع remove
حذف کردن فایلی که اسمش در مشخصه file name مشخص شده است.
این عملیات به طور مستقیم بر روی فایلی که با نام مشخص شده انجام می شود.
🔹پارامتر ها :
🔻مفهوم File name :
با این مشخصه می توان فایل را مشخص کرد، برای این کار تنها می بایست نام فایل اصلی به صورت string به برنامه داده شود.
همچنین می توانیم اسم فایل را به صورت آدرس (موجود باشد) به برنامه بدهیم.
🔹مقدار برگشتی :
اگر برنامه قادر به حذف کردن فایل شد، مقدار 0 را برمی گرداند و اگر نتوانست فایل را پاک کند، مقدار 1 را برمی گرداند.
مثال)
در شرط اول تابع remove صدا زده شده و اگر نامساوی صفر باشد ( یعنی قادر به پاک کردن فایل نباشد ) دستور زیر شرط اجرا می شود و خروجی برنامه
Error deleting file: no such file or directory
خواهد بود، در غیر اینصورت else و دستور زیر آن اجرا میشود و خروجی برنامه
file successfully deleted
خواهد بود.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع remove
int remove(const char *filename);حذف کردن فایلی که اسمش در مشخصه file name مشخص شده است.
این عملیات به طور مستقیم بر روی فایلی که با نام مشخص شده انجام می شود.
🔹پارامتر ها :
🔻مفهوم File name :
با این مشخصه می توان فایل را مشخص کرد، برای این کار تنها می بایست نام فایل اصلی به صورت string به برنامه داده شود.
string filename="myfile.txt";همچنین می توانیم اسم فایل را به صورت آدرس (موجود باشد) به برنامه بدهیم.
string filename="E:\\New folder\\myfile.txt";🔹مقدار برگشتی :
اگر برنامه قادر به حذف کردن فایل شد، مقدار 0 را برمی گرداند و اگر نتوانست فایل را پاک کند، مقدار 1 را برمی گرداند.
مثال)
#include <iostream>
#include <stdio.h>
using namespace std;
int main( )
{
if (remove("myfile.txt") != 0)
perror("Error delting file");
else
puts("file successfully deleted");
return 0;
}
در شرط اول تابع remove صدا زده شده و اگر نامساوی صفر باشد ( یعنی قادر به پاک کردن فایل نباشد ) دستور زیر شرط اجرا می شود و خروجی برنامه
Error deleting file: no such file or directory
خواهد بود، در غیر اینصورت else و دستور زیر آن اجرا میشود و خروجی برنامه
file successfully deleted
خواهد بود.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#cstdio #cstdio.h #rename
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع rename
این تابع قادر به تغییر نام فایل از نام قدیمی به نام جدید است.
این کار به طور مستقیم روی فایل انجام می شود و از هیچ جریانی استفاده نمی شود.
در صورتی که از این تابع استفاده می شود که نام جدید و نام قدیمی دو موقعیت متفاوت داشته باشند( در صورتی که هر دو موقعیت وجود داشته باشد ) فایل به موقعیت جدید انتقال پیدا می کند.
همچنین اگر نام جدید، نام فایل موجودی باشد یا تابع با شکست روبرو می شود و یا فایل جدید را جایگزین فایل قدیمی می کند(بسته به سیستم مورد استفاده و کتابخانه اجرا شده)
🔹پارامتر ها:
🔻مفهوم old name :
نام یا آدرس فایلی که موجود است می باشد (به صورت string)
🔻مفهوم new name :
نام یا آدرس جدید فایل
🔹مقدار برگشتی :
اگر برنامه موفق به تغییر فایل شد ، مقدار 0 را برمی گرداند در غیر اینصورت عدد غیر صفر را برمی گرداند.
مثال)
متغیر result تعریف و برابر با مقدار برگشتی تابع rename می باشد
اگر مقدار برابر صفر شد( همان طور که گفته شد، به معنای آن است که تابع به درستی اجرا شده) خروجی برنامه به صورت زیر خواهد بود
File successfully renamed
و در غیر اینصورت خروجی به صورت زیر است
Error renaming file: Permission denied
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع rename
int rename(const char *oldname,const char *newname);این تابع قادر به تغییر نام فایل از نام قدیمی به نام جدید است.
این کار به طور مستقیم روی فایل انجام می شود و از هیچ جریانی استفاده نمی شود.
در صورتی که از این تابع استفاده می شود که نام جدید و نام قدیمی دو موقعیت متفاوت داشته باشند( در صورتی که هر دو موقعیت وجود داشته باشد ) فایل به موقعیت جدید انتقال پیدا می کند.
همچنین اگر نام جدید، نام فایل موجودی باشد یا تابع با شکست روبرو می شود و یا فایل جدید را جایگزین فایل قدیمی می کند(بسته به سیستم مورد استفاده و کتابخانه اجرا شده)
🔹پارامتر ها:
🔻مفهوم old name :
نام یا آدرس فایلی که موجود است می باشد (به صورت string)
🔻مفهوم new name :
نام یا آدرس جدید فایل
🔹مقدار برگشتی :
اگر برنامه موفق به تغییر فایل شد ، مقدار 0 را برمی گرداند در غیر اینصورت عدد غیر صفر را برمی گرداند.
مثال)
#include <iostream>
#include <stdio.h>
using namespace std;
int main ( )
{
int result;
char oldname[ ]="oldname.txt";
char newname[ ]="newname.txt";
result=rename(oldname,newname);
if(result==0)
puts("File successfully renamed");
else
perror("Error renaming file");
return 0;
}
متغیر result تعریف و برابر با مقدار برگشتی تابع rename می باشد
اگر مقدار برابر صفر شد( همان طور که گفته شد، به معنای آن است که تابع به درستی اجرا شده) خروجی برنامه به صورت زیر خواهد بود
File successfully renamed
و در غیر اینصورت خروجی به صورت زیر است
Error renaming file: Permission denied
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#cstdio #cstdio.h #tmpfile
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع tmpfile
ایجاد و باز کردن فایلی موقت با یک نام منحصر به فرد که به صورت خودکار انتخاب می شود.
در صورت استفاده از این تابع، یک فایل باینری درست می شود [با سطح دسترسی "wb+" ( ساختن فایل با قابلیت خواندن و نوشتن )]
فایل موقتی که ساخته شده، بعد از بسته شدن استریم(جریان) یا زمانی که برنامه خاتمه پیدا می کند، به صورت خودکار حذف می شود اگر برنامه به صورت غیر طبیعی خاتمه پیدا کند، این که فایل حذف شود یا خیر، بستگی به سیستم و کتابخانه های مورد استفاده دارد.
🔹مقدار برگشتی :
در صورت اجرای کامل و موفق تابع، یک اشاره گر به فایل موقتی که ساخته شده برمی گرداند و در صورت اجرای ناقص NULL را برمی گرداند.
مثال )
این برنامه، یک فایل موقت ساخته تا خط هایی که توسط کابر وارد می شود در آن ذخیره شود برنامه فایل های موقت را برگردانده و محتویات آن را به صورت استاندارد چاپ می کند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع tmpfile
FILE *tmpfile(void);ایجاد و باز کردن فایلی موقت با یک نام منحصر به فرد که به صورت خودکار انتخاب می شود.
در صورت استفاده از این تابع، یک فایل باینری درست می شود [با سطح دسترسی "wb+" ( ساختن فایل با قابلیت خواندن و نوشتن )]
فایل موقتی که ساخته شده، بعد از بسته شدن استریم(جریان) یا زمانی که برنامه خاتمه پیدا می کند، به صورت خودکار حذف می شود اگر برنامه به صورت غیر طبیعی خاتمه پیدا کند، این که فایل حذف شود یا خیر، بستگی به سیستم و کتابخانه های مورد استفاده دارد.
🔹مقدار برگشتی :
در صورت اجرای کامل و موفق تابع، یک اشاره گر به فایل موقتی که ساخته شده برمی گرداند و در صورت اجرای ناقص NULL را برمی گرداند.
مثال )
#include <iostream>
#include <stdio.h>
using namespace std;
int main( )
{
char buffer[256];
FILE *pFile;
pFile=tmpfile( );
do {
if(!fgets(buffer,256,stdin))
break;
fputs(buffer,pFile);
} while(strlen(buffer)>1);
rewind(pFile);
while(!feof(pFile))
{
if(fgets(buffer,256,pFile)==NULL)
break;
fputs(buffer,stdout);
}
fclose(pFile);
return 0;
}
این برنامه، یک فایل موقت ساخته تا خط هایی که توسط کابر وارد می شود در آن ذخیره شود برنامه فایل های موقت را برگردانده و محتویات آن را به صورت استاندارد چاپ می کند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#cstdio #cstdio.h #tmpnam
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع tmpnam
برگرداندن یک رشته که حاوی اسمی است که با اسم های فایل های موجود متفاوت است، بنابراین برنامه نویس می تواند با خیال راحت از تکراری نبودن اسم فایل، فایل موقت خود را بسازد
اگر رشته ارسالی به عنوان آرگومان، خالی (NUll) باشد رشته حاصل در یک آرایه استاتیک داخلی ذخیره می شود که می تواند با مقدار برگشتی در دسترس قرار بگیرد.
محتوای این رشته حفظ می شود، حداقل تا زمانی که تابع tmpnam صدا زده شود، که ممکن است جایگزین این مقدار ذخیره شده شود.
اگر رشته ارسالی به عنوان آرگومان، خالی نباشد (not a null)،
آن را در آرایه ای که حداقل L_tmpnamکاراکتر دارد با نام های پیشنهاد شده برای فایل های موقت ذخیره می کند.
🔹پارامتر ها :
🔻مفهوم str :
اشاره گری به یک آرایه است که نام های پیشنهادی فایل های موقت به عنوان یک رشته ذخیره شده اند؛
سایز پیشنهادی این آرایه حداقل L_temnam کاراکتر دارد.
🔹مقدار برگشتی :
در صورت اجرا شدن، یک اشاره گر به رشته که شامل یک نام پیشنهادی برای یک فایل موقت است :
🔻اگر مقدار آرگومان خالی باشد؛ به یک بافر خالی اشاره می کند (محتوایی که حداقل تا صدا زدن دوباره تابع حفظ میشود)
🔻اگر مقدار آرگومان خالی نباشد؛ رشته ای که به عنوان آرگومان فرستاده شده برگشت داده می شود (return)
مثال :
این برنامه دو نام متفاوت برای فایل های موقت ایجاد می کند هر یک از آنها توسط یکی از دو روش که در tmpnam می تواند استفاده شود، ایجاد شده است.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵عملیات ورودی/خروجی(cstdio)
🔹تابع tmpnam
char *tmpnam(char *str);برگرداندن یک رشته که حاوی اسمی است که با اسم های فایل های موجود متفاوت است، بنابراین برنامه نویس می تواند با خیال راحت از تکراری نبودن اسم فایل، فایل موقت خود را بسازد
اگر رشته ارسالی به عنوان آرگومان، خالی (NUll) باشد رشته حاصل در یک آرایه استاتیک داخلی ذخیره می شود که می تواند با مقدار برگشتی در دسترس قرار بگیرد.
محتوای این رشته حفظ می شود، حداقل تا زمانی که تابع tmpnam صدا زده شود، که ممکن است جایگزین این مقدار ذخیره شده شود.
اگر رشته ارسالی به عنوان آرگومان، خالی نباشد (not a null)،
آن را در آرایه ای که حداقل L_tmpnamکاراکتر دارد با نام های پیشنهاد شده برای فایل های موقت ذخیره می کند.
🔹پارامتر ها :
🔻مفهوم str :
اشاره گری به یک آرایه است که نام های پیشنهادی فایل های موقت به عنوان یک رشته ذخیره شده اند؛
سایز پیشنهادی این آرایه حداقل L_temnam کاراکتر دارد.
🔹مقدار برگشتی :
در صورت اجرا شدن، یک اشاره گر به رشته که شامل یک نام پیشنهادی برای یک فایل موقت است :
🔻اگر مقدار آرگومان خالی باشد؛ به یک بافر خالی اشاره می کند (محتوایی که حداقل تا صدا زدن دوباره تابع حفظ میشود)
🔻اگر مقدار آرگومان خالی نباشد؛ رشته ای که به عنوان آرگومان فرستاده شده برگشت داده می شود (return)
مثال :
#include <iostream>
#include <stdio.h>
using namespace std;
int main( )
{
char buffer[L_tmpnam];
char *pointer;
tmpnam(buffer);
cout<<"Tempname #1: \n"<<buffer;
pointer=tmpnam(NULL);
cout<<"Tempname #2: \n"<<pointer;
return 0;
}
این برنامه دو نام متفاوت برای فایل های موقت ایجاد می کند هر یک از آنها توسط یکی از دو روش که در tmpnam می تواند استفاده شود، ایجاد شده است.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#cstdio #cstdio.h
📚فهرست آموزش کتابخانه عملیات ورودی/خروجی (cstdio)
♦️توضیحات بیشتر درباره این کتابخانه
t.me/Learncpp/1053
#remove
t.me/Learncpp/1079
#rename
t.me/Learncpp/1111
#tmpfile
t.me/Learncpp/1131
#tmpnam
t.me/Learncpp/1147
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان ++C
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
📚فهرست آموزش کتابخانه عملیات ورودی/خروجی (cstdio)
♦️توضیحات بیشتر درباره این کتابخانه
t.me/Learncpp/1053
#remove
t.me/Learncpp/1079
#rename
t.me/Learncpp/1111
#tmpfile
t.me/Learncpp/1131
#tmpnam
t.me/Learncpp/1147
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان ++C
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
Telegram
Learning ©➕➕
#cstdio #cstdio.h
🔵عملیات ورودی/خروجی(cstdio)
🔴کتابخانه cstdio
می توان با استفاده از کتابخانه های ورودی و خروجی استاندارد [c standard input and output (cstdio)] سی پلاس پلاس که حاوی مجموعه ای از امکانات ورودی/خروجی است؛ عملیات های ورودی و خروجی را انجام…
🔵عملیات ورودی/خروجی(cstdio)
🔴کتابخانه cstdio
می توان با استفاده از کتابخانه های ورودی و خروجی استاندارد [c standard input and output (cstdio)] سی پلاس پلاس که حاوی مجموعه ای از امکانات ورودی/خروجی است؛ عملیات های ورودی و خروجی را انجام…
🔸ترجمه کتابخانه "time (زمان)" از سایت رسمی برنامه نویسان ++C به آدرس
www.cplusplus.com/reference
@Learncpp
www.cplusplus.com/reference
@Learncpp
#ctime #time.h #mktime
🔵زمان (time)
🔹تابع mktime
این دقیقا برعکس تابع localtime است، ما به این تابع یک زمان استاندارد می دهیم و این تابع می گوید که این زمان از چند ثانیه تشکیل شده است.
🔹پارامتر ها :
🔻مفهوم timeptr* :
یک اشاره گر به زمان استانداردی که از نوع struct tm است.
🔹مقادیر بازگشتی :
اگر تابع بتواند کارش را درست انجام بدهد یک مقدار از نوع time_t بر می گرداند و اگر نتواند مقدار منفی یک(1-) را بر می گرداند.
در مثال بالا ابتدا زمان غیر استاندارد سیستم را می گیریم سپس آن را به زمان استاندارد تبدیل می کنیم سپس دوباره آن را به زمان غیر استاندارد تبدیل می کنیم.
Output:
Enter year: 2000
Enter month: 5
Enter day: 20
That day is a Saturday.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع mktime
time_t mktime(struct tm *timeptr);این دقیقا برعکس تابع localtime است، ما به این تابع یک زمان استاندارد می دهیم و این تابع می گوید که این زمان از چند ثانیه تشکیل شده است.
🔹پارامتر ها :
🔻مفهوم timeptr* :
یک اشاره گر به زمان استانداردی که از نوع struct tm است.
🔹مقادیر بازگشتی :
اگر تابع بتواند کارش را درست انجام بدهد یک مقدار از نوع time_t بر می گرداند و اگر نتواند مقدار منفی یک(1-) را بر می گرداند.
#include <iostream>
#include <ctime>
using namespace std;
int main ( )
{
time_t tim;
tm *stim;
time(&tim);
stim = localtime(&tim);
tim=mktime(stim);
cout<<tim<<endl;
return 0;
}
در مثال بالا ابتدا زمان غیر استاندارد سیستم را می گیریم سپس آن را به زمان استاندارد تبدیل می کنیم سپس دوباره آن را به زمان غیر استاندارد تبدیل می کنیم.
#include <iostream>
#include <time.h>
/*time_t,struct tm,time,mktime*/
using namespace std;
int main ( )
{
time_t rawtime;
struct tm *timeinfo;
int year,month,day;
const char *weekday[ ]={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
/* prompt user for date */
cout<<"Enter year: ";
fflush(stdout);
cin>>year;
cout<<"Enter month: ";
fflush(stdout);
cin>>month;
cout<<"Enter day: ";
fflush(stdout);
cin>>&day;
/*get current timeinfo and modify it to the user's choice*/
time(&rawtime);
timeinfo=localtime(&rawtime);
timeinfo->tm_year=year-1900;
timeinfo->tm_mon=month-1;
timeinfo->tm_mday=day;
/*call mktime: timeinfo->tm_wday will be set*/
mktime(timeinfo);
cout<<"That day is a \n"<<weekday[timeinfo->tm_wday];
return 0;
}
Output:
Enter year: 2000
Enter month: 5
Enter day: 20
That day is a Saturday.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #time
🔵زمان (time)
🔹تابع time
این تابع زمان فعلی سیستم را داخل متغیری که ما مشخص می کنیم قرار می دهد ولی این تابع زمان را بر حسب ثانیه بر می گرداند.
یعنی مثلا اگر زمان فعلی سیستم 00:02:34 باشد این تابع مقدار 153 را بر می گرداند به این دلیل که زمان دو دقیقه و سی و چهار ثانیه از 153 ثانیه تشکیل شده است.
حال باید با استفاده از تابع localtime و یک متغیر دیگر(که یک struct از نوع tm هست) به زمان استاندارد آن را تبدیل کنیم.
🔹پارامتر ها :
🔻مفهوم timer* :
این همان اشاره گر ازنوع time_t هست که می خواهیم زمان را داخل آن نگه داریم.
🔹مقادیر بازگشتی :
اگر تابع بتواند زمان را بگیرد تعداد ثانیه هایش را بر می گرداند ولی اگر نتواند مقدار منفی یک (1-) را بر می گرداند.
Output :
1742940573
این برنامه ابتدا یک متغیر از نوع time_t تعریف می کند بعد آدرس آن را (منظور یک اشاره گر به جایی که tim داخلش ذخیره شده) به تابع time می دهد.
این تابع هم زمان را بر حسب ثانیه داخل جایی که tim اشاره می کند قرار می دهد سپس آن نمایش می دهد.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع time
time_t time (time_t* timer);این تابع زمان فعلی سیستم را داخل متغیری که ما مشخص می کنیم قرار می دهد ولی این تابع زمان را بر حسب ثانیه بر می گرداند.
یعنی مثلا اگر زمان فعلی سیستم 00:02:34 باشد این تابع مقدار 153 را بر می گرداند به این دلیل که زمان دو دقیقه و سی و چهار ثانیه از 153 ثانیه تشکیل شده است.
حال باید با استفاده از تابع localtime و یک متغیر دیگر(که یک struct از نوع tm هست) به زمان استاندارد آن را تبدیل کنیم.
🔹پارامتر ها :
🔻مفهوم timer* :
این همان اشاره گر ازنوع time_t هست که می خواهیم زمان را داخل آن نگه داریم.
🔹مقادیر بازگشتی :
اگر تابع بتواند زمان را بگیرد تعداد ثانیه هایش را بر می گرداند ولی اگر نتواند مقدار منفی یک (1-) را بر می گرداند.
#include <iostream>
#include <ctime>
using namespace std;
int main( )
{
Time_t tim;
Time(&tim);
cout<<tim<<endl;
}
Output :
1742940573
این برنامه ابتدا یک متغیر از نوع time_t تعریف می کند بعد آدرس آن را (منظور یک اشاره گر به جایی که tim داخلش ذخیره شده) به تابع time می دهد.
این تابع هم زمان را بر حسب ثانیه داخل جایی که tim اشاره می کند قرار می دهد سپس آن نمایش می دهد.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #clock
🔵زمان (time)
🔹تابع clock
آیا دوست دارید بدانید برنامه تان چند ثانیه برای اجرا زمان گرفته است ؟؟؟
این تابع به این صورت کار می کند که زمان سپری شده توسط CPU که برای برنامه ی شما مصرف شده را بر می گرداند ولی مقداری که این تابع بر می گرداند بر حسب clock_t هست.
🔹مقادیر بازگشتی :
تابع اگر بتواند زمان را محاسبه کند یک عدد در قالب clock برای ما می فرستد اگر نتواند مقدار منفی یک (1-) را بر می گرداند.
⚠️ ممکن است شما یک برنامه را روی چند تا کامپیوتر تست کنید اگر جواب های مختلف گرفتید تعجب نکنید چون ممکن است سرعت پردازنده ها با هم فرق کند یا اگر روی دو کامپیوتر کاملا مشابه در دو محیط مختلف تست کردید و جواب متفاوتی دیدید ممکن است شرایط محیطی روی کار پردازنده تاثیر گذاشته باشد...
Output :
1001
در خط 8 حلقه اعداد 0 تا 9999 را چاپ می کند تا زمانی تلف شود.
در خط 12 زمان را داخل متغیر clk قرار می دهیم و سپس آن چاپ می کنیم.
اما همان طور که می بینید یک عدد بر می گرداند که امکان ندارد زمان برنامه باشد یعنی یک حلقه ی کوچک 1001 ثانیه طول می کشد ؟؟؟
خوب پس چطوری به یک عدد معقول تبدیلش کنیم ؟؟؟
برای این کار باید clk را به یک عدد float تبدیل کنیم بعد بر ثابت CLOCKS_PER_SEC تقسیمش کنیم.
برای درک بهتر به مثال پایین توجه کنید:
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع clock
clock_t clock(void);آیا دوست دارید بدانید برنامه تان چند ثانیه برای اجرا زمان گرفته است ؟؟؟
این تابع به این صورت کار می کند که زمان سپری شده توسط CPU که برای برنامه ی شما مصرف شده را بر می گرداند ولی مقداری که این تابع بر می گرداند بر حسب clock_t هست.
🔹مقادیر بازگشتی :
تابع اگر بتواند زمان را محاسبه کند یک عدد در قالب clock برای ما می فرستد اگر نتواند مقدار منفی یک (1-) را بر می گرداند.
⚠️ ممکن است شما یک برنامه را روی چند تا کامپیوتر تست کنید اگر جواب های مختلف گرفتید تعجب نکنید چون ممکن است سرعت پردازنده ها با هم فرق کند یا اگر روی دو کامپیوتر کاملا مشابه در دو محیط مختلف تست کردید و جواب متفاوتی دیدید ممکن است شرایط محیطی روی کار پردازنده تاثیر گذاشته باشد...
1. #include <iostream>
2. #include <ctime>
3. using namespace std;
4. int main( )
5. {
6. clock clk;
7. for(int i=0;i<=9999;i++)
8. {
9. cout<<i<<endl;
10. }
11. clk=clock( );
12. cout<<clk<<endl;
13. return 0;
14. }
Output :
1001
در خط 8 حلقه اعداد 0 تا 9999 را چاپ می کند تا زمانی تلف شود.
در خط 12 زمان را داخل متغیر clk قرار می دهیم و سپس آن چاپ می کنیم.
اما همان طور که می بینید یک عدد بر می گرداند که امکان ندارد زمان برنامه باشد یعنی یک حلقه ی کوچک 1001 ثانیه طول می کشد ؟؟؟
خوب پس چطوری به یک عدد معقول تبدیلش کنیم ؟؟؟
برای این کار باید clk را به یک عدد float تبدیل کنیم بعد بر ثابت CLOCKS_PER_SEC تقسیمش کنیم.
برای درک بهتر به مثال پایین توجه کنید:
cout<<((float)clk)/ CLOCKS_PER_SEC<<endl;1. #include <iostream>
2. #include <ctime>
3. using namespace std;
4. int main( )
5. {
6. clock clk;
7. for(int i=0; i<=999; i++)
8. {
9.// دستورات
10. }
11. clk=clock( );
12. for(int j=0;j<=99999;j++)
13. {
14.// دستورات
15. }
16. clk=clock( )–clk;
17. cout<<((float)clk)/CLOCKS_PER_SEC<<endl;
18. return 0;
19. }
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #difftime
🔵زمان (time)
🔹تابع difftime
این تابع اختلاف دو زمان را که به صورت زمان غیر استاندارد(یا همان time_t است)را محاسبه می کند.
البته درست این است که این تابع فقط نوع time_t که همان ثانیه ها هست را محاسبه می کند ولی می توانیم کاری کنیم که حتی اختلاف ماه و سال و روز را هم محاسبه کنیم.
🔹پارامتر ها :
🔻مفهوم end :
این همان زمان اولیه است که می خواهیم اختلافش تا زمان ثانویه را محاسبه کنیم.
🔻مفهوم beginning :
این همان زمان ثانویه است.
🔹مقادیر بازگشتی :
یک مقدار از نوع double که همان اختلاف زمان به ثانیه است
مثال بالا زمان تلف شده توسط یک تکه کد را محاسبه می کند.
Output:
3777291 seconds since new year in the current timezone.
برنامه بالا یک مثال برای پیدا کردن اختلاف روز است.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع difftime
double difftime(time_t end,time_t beginning);این تابع اختلاف دو زمان را که به صورت زمان غیر استاندارد(یا همان time_t است)را محاسبه می کند.
البته درست این است که این تابع فقط نوع time_t که همان ثانیه ها هست را محاسبه می کند ولی می توانیم کاری کنیم که حتی اختلاف ماه و سال و روز را هم محاسبه کنیم.
🔹پارامتر ها :
🔻مفهوم end :
این همان زمان اولیه است که می خواهیم اختلافش تا زمان ثانویه را محاسبه کنیم.
🔻مفهوم beginning :
این همان زمان ثانویه است.
🔹مقادیر بازگشتی :
یک مقدار از نوع double که همان اختلاف زمان به ثانیه است
#include <iostream>
#include <ctime>
using namespace std;
int main( )
{
time_t tim1,tim2;
double s;
time(&tim1);
for(int i=0;i<=9999;i++)
{
//دستورات
}
time(&tim2);
s=difftime(tim1,tim2);
cout<<s<<endl;
return 0;
}
مثال بالا زمان تلف شده توسط یک تکه کد را محاسبه می کند.
#include <iostream>
#include <time.h>
/* time_t, struct tm, difftime, time, mktime */
using namespace std;
int main ( )
{
time_t now;
struct tm newyear;
double seconds;
time(&now);
/*get current time;same as:now=time(NULL) */
newyear=*localtime(&now);
newyear.tm_hour=0;
newyear.tm_min=0;
newyear.tm_sec=0;
newyear.tm_mon=0;
newyear.tm_mday=1;
seconds=difftime(now,mktime(&newyear));
cout<<seconds since new year in the current timezone.\n"<<seconds;
return 0;
}
Output:
3777291 seconds since new year in the current timezone.
برنامه بالا یک مثال برای پیدا کردن اختلاف روز است.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #asctime
🔵زمان (time)
🔹تابع asctime
این تابع می تواند یک زمان استاندارد را تبدیل به یک رشته کند.
اگر یک زمان را به فرمت struct tm بنویسیم برای نمایش دادن آن مجبوریم هر کدام از واحد های زمانی را جدا جدا نمایش دهیم ولی این تابع همه ی آنها را کنار هم قرار داده و سپس به رشته تبدیل می کند.
🔹پارامتر ها :
🔻مفهوم timeptr* :
این همان زمان استانداردی است که می خواهیم آن را به رشته تبدیل کنیم.
🔹مقادیر بازگشتی :
مقدار بازگشتی این تابع یک اشاره گر به ابتدای یک رشته است که حاوی زمان است.
فرمت زمانی که بر می گرداند به صورت زیر است:
Www Mmm dd hh:mm:ss yyyy
www هفته
mmm ماه
dd روز
hh:mm:ss زمان
yyyy سال
🔻کد تابع asctime :
Output:
The current date/time is: Wed Feb 13 15:46:11 2013
در این مثال ابتدا یک زمان را که غیر استاندارد است را با استفاده از تابع time می گیریم سپس با localtime آن را به یک زمان استاندارد تبدیل می کنیم، در آخر با asctime به یک رشته تبدیلش می کنیم و سپس آن را نمایش می دهیم.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع asctime
char* asctime (const struct tm * timeptr);این تابع می تواند یک زمان استاندارد را تبدیل به یک رشته کند.
اگر یک زمان را به فرمت struct tm بنویسیم برای نمایش دادن آن مجبوریم هر کدام از واحد های زمانی را جدا جدا نمایش دهیم ولی این تابع همه ی آنها را کنار هم قرار داده و سپس به رشته تبدیل می کند.
🔹پارامتر ها :
🔻مفهوم timeptr* :
این همان زمان استانداردی است که می خواهیم آن را به رشته تبدیل کنیم.
🔹مقادیر بازگشتی :
مقدار بازگشتی این تابع یک اشاره گر به ابتدای یک رشته است که حاوی زمان است.
فرمت زمانی که بر می گرداند به صورت زیر است:
Www Mmm dd hh:mm:ss yyyy
www هفته
mmm ماه
dd روز
hh:mm:ss زمان
yyyy سال
🔻کد تابع asctime :
char *asctime(const struct tm *timeptr)
{
static const char wday_name[ ][4]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
static const char mon_name[ ][4]={"Jan","Feb","Mar","Apr","May","Jun",
"Jul","Aug","Sep","Oct","Nov","Dec"};
static char result[26];
Cout<<result<<\n
<<wday_name[timeptr->tm_wday]
<<mon_name[timeptr->tm_mon]
<<timeptr->tm_mday
<<timeptr->tm_hour
<<timeptr->tm_min
<<timeptr->tm_sec
<<1900 + timeptr->tm_year;
return result;
}
#include <iostream>
#include <ctime>
using namespace std;
int main ( )
{
time_t rawtime;
struct tm *timeinfo;
time (&rawtime);
timeinfo=localtime(&rawtime);
cout<<"The current date/time is:"<<asctime(timeinfo));
return 0;
}
Output:
The current date/time is: Wed Feb 13 15:46:11 2013
در این مثال ابتدا یک زمان را که غیر استاندارد است را با استفاده از تابع time می گیریم سپس با localtime آن را به یک زمان استاندارد تبدیل می کنیم، در آخر با asctime به یک رشته تبدیلش می کنیم و سپس آن را نمایش می دهیم.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #ctime
🔵زمان (time)
🔹تابع ctime
این تابع شبیه تابع asctime است.
تنها تفاوتش این است که ورودی تابع asctime یک struct tm است،
ولی ورودی تابع ctime یک time_t است حتی مقادیر بازگشتی هر دو تابع مثل هم هستند.
زمانی که از این تابع استفاده می کنید مثل این است که از دستور زیر استفاده می کنید :
Output:
The current local time is: Wed Feb 13 16:06:10 2013
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع ctime
char *ctime(const time_t *timer);این تابع شبیه تابع asctime است.
تنها تفاوتش این است که ورودی تابع asctime یک struct tm است،
ولی ورودی تابع ctime یک time_t است حتی مقادیر بازگشتی هر دو تابع مثل هم هستند.
زمانی که از این تابع استفاده می کنید مثل این است که از دستور زیر استفاده می کنید :
asctime(localtime(timer));#include <iostream>
#include <ctime>
using namespace std;
int main ( )
{
time_t rawtime;
time(&rawtime);
cout<<"The current local time is:"<<ctime(&rawtime);
return 0;
}
Output:
The current local time is: Wed Feb 13 16:06:10 2013
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #localtime
🔵زمان (time)
🔹تابع localtime
آموزش مبحث تبدیل زمان :
اگر بخاطر بیاورید در آموزش های قبلی گفته شد که تابعی به نام time داریم که کار این تابع این است که زمان فعلی سیستم را بر حسب ثانیه به ما بدهد اما آن زمان را به زمان استاندارد تبدیل می کردیم.
حالا با تابع localtime می توانیم آن را به زمان استاندارد تبدیل کنیم.
و اما struct tm چیست ؟؟؟
این یک ساختاره داده ای است که فیلدهایی دارد و با استفاده از این فیلدها می توانیم به مقادیر ساعت، دقیقه و ثانیه دسترسی داشته باشیم البته به روز و ماه و سال هم می توانیم دسترسی داشته باشیم.
🔹پارامتر ها :
🔻مفهوم timer* :
این دقیقا همان زمانی است که با استفاده از تابع ( )time به دست می آوریم.
🔹مقادیر بازگشتی :
این تابع یک اشاره گر به یک struct با نام tm می دهد که داخل آن struct زمان های استانداردی مثل ثانیه و دقیقه نگهداری می شود.
اگر بخواهیم به زبان ساده تر بیان کنیم در اصل فیلدهای struct tm را با مقادیر استاندارد پر می کند.
Output :
00:21:38
ابتدا زمان غیر استاندارد سیستم، که فقط شامل ثانیه ها می شود را به اضافه تابع time در tim می ریزیم سپس با استفاده از localtime زمان استاندارد را در stim می ریزیم حال می توانیم با استفاده از فیلدهای stim به زمان های استاندارد دقیقه، ساعت و ... هم دسترسی داشته باشیم.
با سرچ بیشتر می توانید بهتر متوجه مطلب شوید.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع localtime
struct tm * localtime (const time_t * timer);آموزش مبحث تبدیل زمان :
اگر بخاطر بیاورید در آموزش های قبلی گفته شد که تابعی به نام time داریم که کار این تابع این است که زمان فعلی سیستم را بر حسب ثانیه به ما بدهد اما آن زمان را به زمان استاندارد تبدیل می کردیم.
حالا با تابع localtime می توانیم آن را به زمان استاندارد تبدیل کنیم.
و اما struct tm چیست ؟؟؟
این یک ساختاره داده ای است که فیلدهایی دارد و با استفاده از این فیلدها می توانیم به مقادیر ساعت، دقیقه و ثانیه دسترسی داشته باشیم البته به روز و ماه و سال هم می توانیم دسترسی داشته باشیم.
🔹پارامتر ها :
🔻مفهوم timer* :
این دقیقا همان زمانی است که با استفاده از تابع ( )time به دست می آوریم.
🔹مقادیر بازگشتی :
این تابع یک اشاره گر به یک struct با نام tm می دهد که داخل آن struct زمان های استانداردی مثل ثانیه و دقیقه نگهداری می شود.
اگر بخواهیم به زبان ساده تر بیان کنیم در اصل فیلدهای struct tm را با مقادیر استاندارد پر می کند.
#include <iostream>
#include <ctime>
using namespace std;
int main ( )
{
time_t tim;
tm *stim;
time(&tim);
stim=localtime(&tim);
cout<<stim->tm_hour<<":"
<<stim->tm_min<<":"
<<stim->tm_sec<<endl;
return 0;
}
Output :
00:21:38
ابتدا زمان غیر استاندارد سیستم، که فقط شامل ثانیه ها می شود را به اضافه تابع time در tim می ریزیم سپس با استفاده از localtime زمان استاندارد را در stim می ریزیم حال می توانیم با استفاده از فیلدهای stim به زمان های استاندارد دقیقه، ساعت و ... هم دسترسی داشته باشیم.
با سرچ بیشتر می توانید بهتر متوجه مطلب شوید.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #strftime
🔵زمان (time)
🔹تابع strftime
این تابع هم برای تبدیل کردن زمان به رشته با فرمتی خاص به کار می رود.
در این تابع دقیقا عین تابع ( )printf عمل می کنیم، یعنی برای هر کدام از زمان ها مثل ماه، سال یا روز باید یک کاراکتر خاص را بلد باشیم.
مثل تابع ( )printfکه برای نشان دادن هرکدام از انواع داده ها باید از یک کاراکتر فرمت خاصی راحفظ باشیم.
🔹پارامتر ها :
🔻مفهوم ptr* :
این یک اشاره گر به ابتدا آرایه ای است که می خواهیم زمان را داخلش بریزیم.
🔻مفهوم Maxsize :
همان طول آرایه است که وارد تابع می شود تا تابع بداند چه مقدار حافظه برای نوشتن دارد.
🔻مفهوم format* :
همانطور که می دانید یک رشته حاوی کاراکترهایی است که به طور منظم کنار هم قرار گرفته تا معنی دار باشند، به همین نظم و ترتیب خاص فرمت رشته می گوییم.
حال می توانیم به طرق مختلف فرمت رشته را عوض کنیم مثلا یک رشته را به عدد تبدیل کنیم یا برعکس حالا گاهی لازم است یک زمان را به رشته تبدیل کنیم باید به strftime بگوییم که این کدام نوعِ زمان است مثل تابع ( )printf شما لیست کاراکتر های فرمت را داخل( )printf می دانید ولی این کاراکتر ها در strftime متفاوت است.
این میشود :
🔻مفهوم timeptr* :
همان زمانی است که می خواهیم فرمت آن را عوض کنیم.
🔹مقادیر بازگشتی :
اگر برای این تابع مشکلی پیش نیاید (که معمولا مشکل کم بودن طول آرایه یا نامفهوم بودن محتوای format می شود) و به اندازه ای فضا داشته باشد که بتواند آخر آرایه را با کاراکتر null پر کند، تعداد کاراکتر های نوشته شده در ptr را برمیگرداند و اگر تابع درکار خود شکست بخورد مقدار صفر را برمیگرداند.
output:
Now it's 03:21PM.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع strftime
size_t strftime (char* ptr, size_t maxsize, const char* format,const struct tm* timeptr );این تابع هم برای تبدیل کردن زمان به رشته با فرمتی خاص به کار می رود.
در این تابع دقیقا عین تابع ( )printf عمل می کنیم، یعنی برای هر کدام از زمان ها مثل ماه، سال یا روز باید یک کاراکتر خاص را بلد باشیم.
مثل تابع ( )printfکه برای نشان دادن هرکدام از انواع داده ها باید از یک کاراکتر فرمت خاصی راحفظ باشیم.
🔹پارامتر ها :
🔻مفهوم ptr* :
این یک اشاره گر به ابتدا آرایه ای است که می خواهیم زمان را داخلش بریزیم.
🔻مفهوم Maxsize :
همان طول آرایه است که وارد تابع می شود تا تابع بداند چه مقدار حافظه برای نوشتن دارد.
🔻مفهوم format* :
همانطور که می دانید یک رشته حاوی کاراکترهایی است که به طور منظم کنار هم قرار گرفته تا معنی دار باشند، به همین نظم و ترتیب خاص فرمت رشته می گوییم.
حال می توانیم به طرق مختلف فرمت رشته را عوض کنیم مثلا یک رشته را به عدد تبدیل کنیم یا برعکس حالا گاهی لازم است یک زمان را به رشته تبدیل کنیم باید به strftime بگوییم که این کدام نوعِ زمان است مثل تابع ( )printf شما لیست کاراکتر های فرمت را داخل( )printf می دانید ولی این کاراکتر ها در strftime متفاوت است.
این میشود :
specifier Replaced by Example
🔹%a
Abbreviated weekday name *Thu
🔹%A
Full weekday name *Thursday
🔹%b
Abbreviated month name *Aug
🔹%B
Full month name
*August
🔹%c
Date and time
representation
*Thu Aug 23 14:55:02 2001
🔹%C
Year divided by 100 and truncated to integer (00-99) 20
🔹%d
Day of the month, zero-padded (01-31) 23
🔹%D
Short MM/DD/YY date, equivalent to %m/%d/%y 08/23/01
🔹%e
Day of the month, space-
padded ( 1-31) 23
🔹%F
Short YYYY-MM-DD date, equivalent to %Y-%m-%d 2001-08-23
🔹%g
Week-based year, last two digits (00-99) 01
🔹%G
Week-based year 2001
🔹%h
Abbreviated month name * (same as %b) Aug
🔹%H
Hour in 24h format (00-23)
14
🔹%I
Hour in 12h format (01-12) 02
🔹%j
Day of the year (001-366) 235
🔹%m
Month as a decimal number (01-12) 08
🔹%M
Minute (00-59) 55
🔹%n
New-line character ('\n')
🔹%p
AM or PM designation PM
🔹%r
12-hour clock time * 02:55:02 pm
🔹%R
24-hour HH:MM time, equivalent to %H:%M 14:55
🔹%S
Second (00-61) 02
🔹%t
Horizontal-tab character ('\t')
🔹%T
ISO 8601 time format (HH:MM:SS), equivalent to %H:%M:%S 14:55:02
🔹%u
ISO 8601 weekday as number with Monday as 1 (1-7) 4
🔹%U
Week number with the first Sunday as the first day of week one (00-53) 33
🔹%V
ISO 8601 week number (00-53) 34
🔹%w
Weekday as a decimal number with Sunday as 0 (0-6) 4
🔹%W
Week number with the first Monday as the first day of week one (00-53) 34
🔹%x
Date representation * 08/23/01
🔹%X
Time representation * 14:55:02
🔹%y
Year, last two digits (00-99) 01
🔹%Y
Year 2001
🔹%z
ISO 8601 offset from UTC in timezone (1 minute=1, 1 hour=100)
If timezone cannot be determined, no characters ت +100
🔹%Z
Timezone name or abbreviation *
If timezone cannot be determined, no characters CDT
%% A % sign %
🔻مفهوم timeptr* :
همان زمانی است که می خواهیم فرمت آن را عوض کنیم.
🔹مقادیر بازگشتی :
اگر برای این تابع مشکلی پیش نیاید (که معمولا مشکل کم بودن طول آرایه یا نامفهوم بودن محتوای format می شود) و به اندازه ای فضا داشته باشد که بتواند آخر آرایه را با کاراکتر null پر کند، تعداد کاراکتر های نوشته شده در ptr را برمیگرداند و اگر تابع درکار خود شکست بخورد مقدار صفر را برمیگرداند.
#include <stdio.h>/* puts */
#include <time.h>/* time_t, struct tm, time, localtime, strftime */
int main ( )
{
time_t rawtime;
struct tm *timeinfo;
char buffer[80];
time (&rawtime);
timeinfo=localtime(&rawtime);
strftime (buffer,80,"Now it's %I:%M%p.",timeinfo);
puts (buffer);
return 0;
}
output:
Now it's 03:21PM.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #clock_t
🔵زمان (time)
🔹تابع clock_t
تعریفی ابتدایی برای یک حسابگر با قابلیت بالا در ارائه ی تعداد تیک تاک های ساعت
تیک تاک های ساعت واحد هایی از نوع
ثابت(constant) ولی در عین حال تابع سیستم هستند که با تابع clock ارائه می شوند.
🔰ترجمه شده ازسایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع clock_t
type clock_tتعریفی ابتدایی برای یک حسابگر با قابلیت بالا در ارائه ی تعداد تیک تاک های ساعت
تیک تاک های ساعت واحد هایی از نوع
ثابت(constant) ولی در عین حال تابع سیستم هستند که با تابع clock ارائه می شوند.
🔰ترجمه شده ازسایت
www.cplusplus.com
@Learncpp
#ctime #time.h #time_t
🔵زمان (time)
🔹تابع time_t
تعریفی ابتدایی برای یک حسابگر با قابلیت بالا در ارائه ی زمان ها، که با تابع time ارائه می شود.
بنا به دلایلی، به طور کلی به عنوان یک متغیر از نوع عدد صحیح (integer) که حاوی ثانیه های سپری شده از زمان 00:00 و تاریخ یک ژانویه سال 1970 است، تعریف می شود،گرچه بعضی از کتابخانه ها می توانند به شکل دیگری هم آن را ارائه دهند.
برنامه های portable بهتر است که از مقادیر این تابع به صورت مستقیم استفاده نکنند و در عوض از کتابخانه های استاندارد دیگری برای ترجمه ی این تابع به صورت portable بهره بگیرند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع time_t
type time_tتعریفی ابتدایی برای یک حسابگر با قابلیت بالا در ارائه ی زمان ها، که با تابع time ارائه می شود.
بنا به دلایلی، به طور کلی به عنوان یک متغیر از نوع عدد صحیح (integer) که حاوی ثانیه های سپری شده از زمان 00:00 و تاریخ یک ژانویه سال 1970 است، تعریف می شود،گرچه بعضی از کتابخانه ها می توانند به شکل دیگری هم آن را ارائه دهند.
برنامه های portable بهتر است که از مقادیر این تابع به صورت مستقیم استفاده نکنند و در عوض از کتابخانه های استاندارد دیگری برای ترجمه ی این تابع به صورت portable بهره بگیرند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #struct_tm #struct_time
🔵زمان (time)
🔹تابع Struct tm
این ساختار مقادیر استاندارد زمان را داخل خودش دارد و داخل چندین تابع مجبوریم از آن استفاده کنیم.
البته همه ی این مقادیر جدا از هم هستند.
این ساختار 9 عضو دارد که از این قرار
(t.me/Learncpp/1377)
هستند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع Struct tm
این ساختار مقادیر استاندارد زمان را داخل خودش دارد و داخل چندین تابع مجبوریم از آن استفاده کنیم.
البته همه ی این مقادیر جدا از هم هستند.
این ساختار 9 عضو دارد که از این قرار
(t.me/Learncpp/1377)
هستند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #struct_tm #struct_time
🔵زمان (time)
🔹تابع Struct tm
🔻نمایش 9 عضو تابع struct tm
(t.me/Learncpp/1376)
@Learncpp
🔵زمان (time)
🔹تابع Struct tm
🔻نمایش 9 عضو تابع struct tm
(t.me/Learncpp/1376)
@Learncpp