#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
#ctime #time.h #struct_tm #struct_time
🔵زمان (time)
🔹تابع Struct tm
پرچم ساعت تابستانی (The Daylight Saving Time flag یا tm_isdst) می تواند مقادیر زیر را داشته باشد.
1.مقداری بزرگتر از صفر که نشان دهنده ی روشن بودن این قابلیت در سیستم می باشد.
2.مقدار صفر که نشان دهنده ی خاموش بودن این قابلیت در سیستم می باشد.
3.مقداری کوچکتر از صفر که نشان دهنده ی عدم وجود اطلاعات کافی در سیستم می باشد.
همچنین tm_sec به طور کلی در بازه ی(0 _59)تعریف می شود و مقادیر اضافی برای همسان سازی پرش های ثانیه در سیستم های مختلف استفاده می شود.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع Struct tm
پرچم ساعت تابستانی (The Daylight Saving Time flag یا tm_isdst) می تواند مقادیر زیر را داشته باشد.
1.مقداری بزرگتر از صفر که نشان دهنده ی روشن بودن این قابلیت در سیستم می باشد.
2.مقدار صفر که نشان دهنده ی خاموش بودن این قابلیت در سیستم می باشد.
3.مقداری کوچکتر از صفر که نشان دهنده ی عدم وجود اطلاعات کافی در سیستم می باشد.
همچنین tm_sec به طور کلی در بازه ی(0 _59)تعریف می شود و مقادیر اضافی برای همسان سازی پرش های ثانیه در سیستم های مختلف استفاده می شود.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h
📚فهرست آموزش کتابخانه time (زمان)
#mktime
t.me/Learncpp/1206
#time
t.me/Learncpp/1216
#clock
t.me/Learncpp/1233
#difftime
t.me/Learncpp/1249
#asctime
t.me/Learncpp/1261
#ctime
t.me/Learncpp/1277
#localtime
t.me/Learncpp/1293
#strftime
t.me/Learncpp/1304
#clock_t
t.me/Learncpp/1346
#time_t
t.me/Learncpp/1347
#struct_tm
1. t.me/Learncpp/1376
2. t.me/Learncpp/1377
3. t.me/Learncpp/1393
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان C++
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
📚فهرست آموزش کتابخانه time (زمان)
#mktime
t.me/Learncpp/1206
#time
t.me/Learncpp/1216
#clock
t.me/Learncpp/1233
#difftime
t.me/Learncpp/1249
#asctime
t.me/Learncpp/1261
#ctime
t.me/Learncpp/1277
#localtime
t.me/Learncpp/1293
#strftime
t.me/Learncpp/1304
#clock_t
t.me/Learncpp/1346
#time_t
t.me/Learncpp/1347
#struct_tm
1. t.me/Learncpp/1376
2. t.me/Learncpp/1377
3. t.me/Learncpp/1393
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان C++
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
Telegram
Learning ©➕➕
#ctime #time.h #mktime
🔵زمان (time)
🔹تابع mktime
time_t mktime(struct tm *timeptr);
این دقیقا برعکس تابع localtime است، ما به این تابع یک زمان استاندارد می دهیم و این تابع می گوید که این زمان از چند ثانیه تشکیل شده است.
🔹پارامتر ها :
🔻مفهوم timeptr*…
🔵زمان (time)
🔹تابع mktime
time_t mktime(struct tm *timeptr);
این دقیقا برعکس تابع localtime است، ما به این تابع یک زمان استاندارد می دهیم و این تابع می گوید که این زمان از چند ثانیه تشکیل شده است.
🔹پارامتر ها :
🔻مفهوم timeptr*…
زحمت ترجمه کتابخانه "Signal" را آقای فردین مارابی کشیدن از این بزرگوار بخاطر کمکشون سپاسگزاریم 🙏🌺
@Learncpp
@Learncpp
🔸ترجمه کتابخانه "Signal (سیگنال)" از سایت رسمی برنامه نویسان ++C به آدرس
www.cplusplus.com/reference
@Learncpp
www.cplusplus.com/reference
@Learncpp
#csignal #signal.h
🔵سیگنال (Signal)
🔹کتابخانه Signal
🔸کتابخانه ی سی به منظور مدیریت سیگنال :
🔻بعضی از محیط های اجرایی از سیگنال ها به منظور آگاه سازی از پروسه های در حال اجرای رویدادها مشخص استفاده می کنند.
🔻این رویداد ها ممکن است مربوط به آن خطاهایی باشند که به وسیله ی کد برنامه ایجاد شده اند مثل یک عملیات جبری ناصحیح (مانند تقسیم بر صفر) و یا استثنایی از قبیل یک درخواست برای توقف برنامه.
🔻سیگنال ها عموما حالتی هستند که برنامه مجبور به پایان است و یا یک خطای غیر قابل برگشت روی داده است بنابراین مدیریت یک سیگنال منجر به این می شود که برنامه عملیات پاک سازی قبل از کنسلی را اجرا کند و یا تلاش به ادامه ی کار پس از روی دادن خطا کند.
🔻همه ی محیط های اجرایی ملزوم به تولید سیگنال ها برای موقعی که در کتابخانه ی سی طراحی شده اند نیستند.
🔻بعضی دیگر از محیط ها نه تنها این نوع از سیگنال ها را تولید می کنند بلکه بسیاری از سیگنال ها مشخصه دیگری را نیز تولید می کنند.
🔻ولی در تمامی موارد سیگنال ها به طور صریح از فراخوانی تابعی که مطابق با آن سیگنال بخصوص است تولید می شوند.
🔹توابع
🔻تابع Raise : وضع تابعی که سیگنال را مدیریت می کند.
🔻تابع Signal : یک سیگنال را تولید می کند.
🔹نوع :
Sig-atomic-t (داده ی صحیح)
🔹ثابت های بزرگ
type : macro : signal
🔹int : SIGABRT : توقف های غیر عادی
🔹int : SIGFPE : عملیات های جبری نادرست
🔹int : SIGLLL : تصویر تابع نامعتبر از قبیل ساختار ناصحیح
🔹int : SIGINT : سیگنال های تاثیر گذار برهم
🔹int : SIGSEGV : دسترسی نامعتبر به حافظه
🔹int : SIGTERM : درخواست توقف برنامه
🔹function : SIG_DFL : مدیریت استثنا با یک عمل قراردادی
🔹function : SIG_IGN : رد کردن یک سیگنال
🔹function : SIG_ERR : یک بازگشت بخصوص که نشانگر شکست است
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵سیگنال (Signal)
🔹کتابخانه Signal
🔸کتابخانه ی سی به منظور مدیریت سیگنال :
🔻بعضی از محیط های اجرایی از سیگنال ها به منظور آگاه سازی از پروسه های در حال اجرای رویدادها مشخص استفاده می کنند.
🔻این رویداد ها ممکن است مربوط به آن خطاهایی باشند که به وسیله ی کد برنامه ایجاد شده اند مثل یک عملیات جبری ناصحیح (مانند تقسیم بر صفر) و یا استثنایی از قبیل یک درخواست برای توقف برنامه.
🔻سیگنال ها عموما حالتی هستند که برنامه مجبور به پایان است و یا یک خطای غیر قابل برگشت روی داده است بنابراین مدیریت یک سیگنال منجر به این می شود که برنامه عملیات پاک سازی قبل از کنسلی را اجرا کند و یا تلاش به ادامه ی کار پس از روی دادن خطا کند.
🔻همه ی محیط های اجرایی ملزوم به تولید سیگنال ها برای موقعی که در کتابخانه ی سی طراحی شده اند نیستند.
🔻بعضی دیگر از محیط ها نه تنها این نوع از سیگنال ها را تولید می کنند بلکه بسیاری از سیگنال ها مشخصه دیگری را نیز تولید می کنند.
🔻ولی در تمامی موارد سیگنال ها به طور صریح از فراخوانی تابعی که مطابق با آن سیگنال بخصوص است تولید می شوند.
🔹توابع
🔻تابع Raise : وضع تابعی که سیگنال را مدیریت می کند.
🔻تابع Signal : یک سیگنال را تولید می کند.
🔹نوع :
Sig-atomic-t (داده ی صحیح)
🔹ثابت های بزرگ
type : macro : signal
🔹int : SIGABRT : توقف های غیر عادی
🔹int : SIGFPE : عملیات های جبری نادرست
🔹int : SIGLLL : تصویر تابع نامعتبر از قبیل ساختار ناصحیح
🔹int : SIGINT : سیگنال های تاثیر گذار برهم
🔹int : SIGSEGV : دسترسی نامعتبر به حافظه
🔹int : SIGTERM : درخواست توقف برنامه
🔹function : SIG_DFL : مدیریت استثنا با یک عمل قراردادی
🔹function : SIG_IGN : رد کردن یک سیگنال
🔹function : SIG_ERR : یک بازگشت بخصوص که نشانگر شکست است
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#csignal #signal.h #raise
🔵سگینال (signal)
🔹تابع Raise
🔸تولید یک سیگنال :
سیگنال (سیگ) را به برنامه در حال اجرا می فرستد و سیگنال توسط تابع سیگنال مدیریت می شود.
🔹پارامترها
🔻پارامتر Sig :
مقدار سیگنال برای ارسال به تابع است.
ثابت های مارکرو که در پایین معرفی می کنیم مقدار استاندارد سیگنال را شناسایی می کنند.
macro : Signal
▫️SIGABRT :
توقف های غیر عادی
▫️SIGFPE :
عملیات های جبری نادرست
▫️SIGILL :
تصویر تابع نامعتبر از قبیل ساختار ناصحیح
▫️SIGINT :
سیگنال های تاثیر گذار برهم
▫️SIGSEGV :
دسترسی نامعتبر به حافظه
▫️SIGTERM :
درخواست توقف برنامه
پیاده سازی هر کتابخانه امکان فراهم آوردن مقدار سیگنال های اضافه تری را که با این تابع استفاده شود را فراهم می آورد.
🔻مقدار بازگشتی :
اگر موفقیت آمیز باشد صفر را بر می گرداند و در غیر اینصورت یک مقدار غیر صفر را برمی گرداند.
🔻مسیر(گردش) داده :
فراخوانی همزمان این تابع بلا اشکال است و باعث ایجاد اشتباه و دور نمی شود توجه داشته باشید که به هرحال امکان دارد که فرآیند مدیریت بر تمامی قسمت ها اثر گذار باشد.
🔻استثناء ها (++C) :
اگر هیچ تابعی برای مدیریت سیگنال تعریف نشده باشد آن تابع هرگز استثنا تولید نمی کند و در باقی حالت ها رفتار و برخورد تابع بستگی به تابع پیاده سازی شده دارد.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵سگینال (signal)
🔹تابع Raise
int raise(int seg); 🔸تولید یک سیگنال :
سیگنال (سیگ) را به برنامه در حال اجرا می فرستد و سیگنال توسط تابع سیگنال مدیریت می شود.
🔹پارامترها
🔻پارامتر Sig :
مقدار سیگنال برای ارسال به تابع است.
ثابت های مارکرو که در پایین معرفی می کنیم مقدار استاندارد سیگنال را شناسایی می کنند.
macro : Signal
▫️SIGABRT :
توقف های غیر عادی
▫️SIGFPE :
عملیات های جبری نادرست
▫️SIGILL :
تصویر تابع نامعتبر از قبیل ساختار ناصحیح
▫️SIGINT :
سیگنال های تاثیر گذار برهم
▫️SIGSEGV :
دسترسی نامعتبر به حافظه
▫️SIGTERM :
درخواست توقف برنامه
پیاده سازی هر کتابخانه امکان فراهم آوردن مقدار سیگنال های اضافه تری را که با این تابع استفاده شود را فراهم می آورد.
🔻مقدار بازگشتی :
اگر موفقیت آمیز باشد صفر را بر می گرداند و در غیر اینصورت یک مقدار غیر صفر را برمی گرداند.
🔻مسیر(گردش) داده :
فراخوانی همزمان این تابع بلا اشکال است و باعث ایجاد اشتباه و دور نمی شود توجه داشته باشید که به هرحال امکان دارد که فرآیند مدیریت بر تمامی قسمت ها اثر گذار باشد.
🔻استثناء ها (++C) :
اگر هیچ تابعی برای مدیریت سیگنال تعریف نشده باشد آن تابع هرگز استثنا تولید نمی کند و در باقی حالت ها رفتار و برخورد تابع بستگی به تابع پیاده سازی شده دارد.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#csignal #signal.h #raise
🔵سیگنال (Signal)
🔹تابع Raise
🔹پارامترها
🔻پارامتر Sig
مطالب بیشتر در
t.me/Learncpp/1590
@Learncpp
🔵سیگنال (Signal)
🔹تابع Raise
🔹پارامترها
🔻پارامتر Sig
مطالب بیشتر در
t.me/Learncpp/1590
@Learncpp
#Csignal #signal.h #signal
🔵 سیگنال (signal)
🔹تابع Signal :
🔸قراردادن تابعی به منظور مدیریت سیگنال :
تعیین کردن راهی برای مدیریت سیگنال از شماره ی سیگنال که به سیگ معروف است.
🔸تابع پارامتری شده یکی از سه راهی که می شود سیگنال ها را در برنامه مدیریت کرد را مشخص می کند :
1️⃣ مدیریت اختیار(sig_def) :
سیگنال یک کار دلخواه و رندوم برای یک نوع بخصوص سیگنال انجام می دهد.
2️⃣ نادیده گرفتن (sig_ign) :
سیگنال نادیده گرفته می شود و برنامه به کار خود ادامه می دهد حتی اگر ادامه ی کار بی معنی به نظر برسد.
3️⃣ تابع مدیریت کننده :
تابع بخصوصی برای مدیریت سیگنال تعریف می شود.
🔹پارامترها
🔻پارامتر Sig :
مقدار سیگنالی که برای تابع مدیریت کننده وضع شده است.
🔘 عبارت های ثابت ماکروی زیر مقدارهای استاندارد سیگنال را معرفی می کنند.
macro : Signal
▫️SIGABRT :
توقف های غیر عادی
▫️SIGFPE :
عملیات های جبری نادرست
▫️SIGILL :
تصویر تابع نامعتبر از قبیل ساختار ناصحیح
▫️SIGINT :
سیگنال های تاثیر گذار برهم
▫️SIGSEGV :
دسترسی نامعتبر به حافظه
▫️SIGTERM :
درخواست توقف برنامه
🔸 با پیاده سازی کتابخانه ها امکان دارد مقدار سیگنال های اضافه تری را فراهم آورد که از طریق ثابت های ماکرو قابل استفاده هستند.
⚠️ دقت کنید که همه ی محیط های اجرایی مجبور به تولید اتوماتیک سیگنال ها نیستند، همه ی محیط های اجرایی باید سیگنال های تولید شده توسط تابع raise را دریافت کنند.
🔻تابع Func:
یک اشاره گر به تابع، این ممکن است که یک تابع تعریف شده توسط برنامه نویس باشد و یا یکی از تابع های از قبل تعریف شده ی زیر باشد :
1️⃣ sig_def
2️⃣ sig_ign
▶️ اگر تابعی باشد که توسط برنامه نویس تعریف شده باشد باید فرمی به شکل زیر داشته باشد :
🔻نوع بازگشتی :
نوع بازگشتی درست مانند پارامتر های تابع است، اگر درخواست موفقیت آمیز باشد تابع یک اشاره گر به یک نوع مشخص تابع مدیریت کننده است که در راس مدیریت این سیگنال قبل از اظهار هیچ یا یکی از دو تابع Sig_def ,Sig_ign قرار دارد.
سیگنال فراخوانی شده به صورت دلخواه اجرا می شود و یا نادیده گرفته می شود، اگر تابع در فعال سازی و اجرای تابع های جدید سیگنال به صورت موفقیت آمیز عمل نکند Sib_ebr را بازگشت می دهد و یک عدد مثبت به errno اختصاص می دهد.
مثال )
🔻مسیر داده :
فراخوانی این تابع در چندین موقعیت رفتار نامشخصی را به دنبال دارد.
🔻استثناء ها (++C) :
این تابع هرگز یک استثناء را بیرون نمی اندازد.
No-throw guarantee
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵 سیگنال (signal)
🔹تابع Signal :
void (*signal(int sig, void (*func)(int)))(int);🔸قراردادن تابعی به منظور مدیریت سیگنال :
تعیین کردن راهی برای مدیریت سیگنال از شماره ی سیگنال که به سیگ معروف است.
🔸تابع پارامتری شده یکی از سه راهی که می شود سیگنال ها را در برنامه مدیریت کرد را مشخص می کند :
1️⃣ مدیریت اختیار(sig_def) :
سیگنال یک کار دلخواه و رندوم برای یک نوع بخصوص سیگنال انجام می دهد.
2️⃣ نادیده گرفتن (sig_ign) :
سیگنال نادیده گرفته می شود و برنامه به کار خود ادامه می دهد حتی اگر ادامه ی کار بی معنی به نظر برسد.
3️⃣ تابع مدیریت کننده :
تابع بخصوصی برای مدیریت سیگنال تعریف می شود.
🔹پارامترها
🔻پارامتر Sig :
مقدار سیگنالی که برای تابع مدیریت کننده وضع شده است.
🔘 عبارت های ثابت ماکروی زیر مقدارهای استاندارد سیگنال را معرفی می کنند.
macro : Signal
▫️SIGABRT :
توقف های غیر عادی
▫️SIGFPE :
عملیات های جبری نادرست
▫️SIGILL :
تصویر تابع نامعتبر از قبیل ساختار ناصحیح
▫️SIGINT :
سیگنال های تاثیر گذار برهم
▫️SIGSEGV :
دسترسی نامعتبر به حافظه
▫️SIGTERM :
درخواست توقف برنامه
🔸 با پیاده سازی کتابخانه ها امکان دارد مقدار سیگنال های اضافه تری را فراهم آورد که از طریق ثابت های ماکرو قابل استفاده هستند.
⚠️ دقت کنید که همه ی محیط های اجرایی مجبور به تولید اتوماتیک سیگنال ها نیستند، همه ی محیط های اجرایی باید سیگنال های تولید شده توسط تابع raise را دریافت کنند.
🔻تابع Func:
یک اشاره گر به تابع، این ممکن است که یک تابع تعریف شده توسط برنامه نویس باشد و یا یکی از تابع های از قبل تعریف شده ی زیر باشد :
1️⃣ sig_def
2️⃣ sig_ign
▶️ اگر تابعی باشد که توسط برنامه نویس تعریف شده باشد باید فرمی به شکل زیر داشته باشد :
void handler_function (int parameter); 🔻نوع بازگشتی :
نوع بازگشتی درست مانند پارامتر های تابع است، اگر درخواست موفقیت آمیز باشد تابع یک اشاره گر به یک نوع مشخص تابع مدیریت کننده است که در راس مدیریت این سیگنال قبل از اظهار هیچ یا یکی از دو تابع Sig_def ,Sig_ign قرار دارد.
سیگنال فراخوانی شده به صورت دلخواه اجرا می شود و یا نادیده گرفته می شود، اگر تابع در فعال سازی و اجرای تابع های جدید سیگنال به صورت موفقیت آمیز عمل نکند Sib_ebr را بازگشت می دهد و یک عدد مثبت به errno اختصاص می دهد.
مثال )
#include <stdio.h>
/* printf */
#include <signal.h>
/* signal, raise, sig_atomic_t */
sig_atomic_t signaled = 0;
void my_handler (int param)
{
signaled = 1;
}
int main ( )
{
void (*prev_handler)(int);
prev_handler = signal(SIGINT, my_handler);
/* ... */
raise(SIGINT);
/* ... */
printf ("signaled is %d.\n",signaled);
return 0;
}
🔻مسیر داده :
فراخوانی این تابع در چندین موقعیت رفتار نامشخصی را به دنبال دارد.
🔻استثناء ها (++C) :
این تابع هرگز یک استثناء را بیرون نمی اندازد.
No-throw guarantee
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#csignal #signal.h #signal
🔵سیگنال (signal)
🔹تابع signal
🔹پارامترها
🔻پارامترSig
مطالب بیشتر در
t.me/Learncpp/1616
@Learncpp
🔵سیگنال (signal)
🔹تابع signal
🔹پارامترها
🔻پارامترSig
مطالب بیشتر در
t.me/Learncpp/1616
@Learncpp
#csignal #signal.h #raise
📚فهرست آموزش کتابخانه Signal (سیگنال)
♦️توضیحات بیشتر درباره ی این کتابخانه
t.me/Learncpp/1569
♦️جدول ثابت های بزرگ
t.me/Learncpp/1584
#raise
1. t.me/Learncpp/1590
2. t.me/Learncpp/1596
#signal
1. t.me/Learncpp/1616
2. t.me/Learncpp/1645
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان C++
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡 @Learncpp
📚فهرست آموزش کتابخانه Signal (سیگنال)
♦️توضیحات بیشتر درباره ی این کتابخانه
t.me/Learncpp/1569
♦️جدول ثابت های بزرگ
t.me/Learncpp/1584
#raise
1. t.me/Learncpp/1590
2. t.me/Learncpp/1596
#signal
1. t.me/Learncpp/1616
2. t.me/Learncpp/1645
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان C++
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡 @Learncpp
Telegram
Learning ©➕➕
#csignal #signal.h
🔵سیگنال (Signal)
🔹کتابخانه Signal
🔸کتابخانه ی سی به منظور مدیریت سیگنال :
🔻بعضی از محیط های اجرایی از سیگنال ها به منظور آگاه سازی از پروسه های در حال اجرای رویدادها مشخص استفاده می کنند.
🔻این رویداد ها ممکن است مربوط به آن خطاهایی…
🔵سیگنال (Signal)
🔹کتابخانه Signal
🔸کتابخانه ی سی به منظور مدیریت سیگنال :
🔻بعضی از محیط های اجرایی از سیگنال ها به منظور آگاه سازی از پروسه های در حال اجرای رویدادها مشخص استفاده می کنند.
🔻این رویداد ها ممکن است مربوط به آن خطاهایی…
🏵 گروه ++C و ساختمان داده
telegram.me/Learncpp/325
🚷 قوانین گروه هارو حتما مطالعه کنید
📚 فهرست آموزش های کانال
📓 جلسه اول (مقدمات زبان ++C)
telegram.me/Learncpp/534
📘 جلسه دوم (ساختارهای تکرار و تصمیم گیری)
telegram.me/Learncpp/535
📗 جلسه سوم (آرایه ها)
telegram.me/Learncpp/536
📙 جلسه چهارم (توابع)
telegram.me/Learncpp/537
📽 فیلم های آموزشی
telegram.me/Learncpp/538
💻 نرم افزار های مرتبط
telegram.me/Learncpp/540
🙇🏻 دانستنی ها
telegram.me/Learncpp/539
🌐 کامپایلر، IDE، کتاب برنامه نویسی و...
telegram.me/Learncpp/362
🌍 ترجمه کتابخانه ها از سایت مرجع برنامه نویسان ++C
www.cplusplus.com
🔹وکتور (vector)
telegram.me/Learncpp/1029
🔹رشته ها(string)
telegram.me/Learncpp/1030
🔹عملیات ورودی/خروجی (cstdio)
telegram.me/Learncpp/1194
🔹زمان (time)
telegram.me/Learncpp/1414
🔹سیگنال (signal)
telegram.me/Learncpp/1672
🔸کتابخانه بعدی درحال ترجمه است
⛔️ از آنجا که مطالب کانال از جایی کپی پیست و دزدیده نمی شوند همچنین یکی از اهداف اصلی کانال پوشش دادن ریز به ریز و کامل مطالب است تا خواننده درک درست و کاملی از آموزش ها داشته باشد، به همین خاطر ابتدا تمامیه مطالب درون word تایپ سپس پس از تکمیل به صورت رایگان داخل کانال قرار می گیرند، پس به دلیل جمع آوری مطالب ممکن است مدت زمانی درون کانال آموزشی قرار نگیرد به همین دلیل "لطفا صبر پیشه کنید"...
🎁 دوستانی که مشتاق به ترجمه کتابخانه های سی پلاس پلاس از سایت رسمی Cplusplus.com هستند یا تمایل به آموزش موضوعات مرتبط با سی پلاس را دارند (به صورت رایگان) به آیدی @QtCplusplus پیام بدن تا هماهنگی های لازم انجام شده و در انتها زحمات افراد همراه مشخصاتشان برای عموم داخل کانال @Learncpp منتشر شود🌹
❤️ تبلیغات بسیار ارزانتر جهت کمک به بچه های سرطانی
💝 @tabligh_cpp
آموزش تخصصی ➕➕©
🌈 @Learncpp
telegram.me/Learncpp/325
🚷 قوانین گروه هارو حتما مطالعه کنید
📚 فهرست آموزش های کانال
📓 جلسه اول (مقدمات زبان ++C)
telegram.me/Learncpp/534
📘 جلسه دوم (ساختارهای تکرار و تصمیم گیری)
telegram.me/Learncpp/535
📗 جلسه سوم (آرایه ها)
telegram.me/Learncpp/536
📙 جلسه چهارم (توابع)
telegram.me/Learncpp/537
📽 فیلم های آموزشی
telegram.me/Learncpp/538
💻 نرم افزار های مرتبط
telegram.me/Learncpp/540
🙇🏻 دانستنی ها
telegram.me/Learncpp/539
🌐 کامپایلر، IDE، کتاب برنامه نویسی و...
telegram.me/Learncpp/362
🌍 ترجمه کتابخانه ها از سایت مرجع برنامه نویسان ++C
www.cplusplus.com
🔹وکتور (vector)
telegram.me/Learncpp/1029
🔹رشته ها(string)
telegram.me/Learncpp/1030
🔹عملیات ورودی/خروجی (cstdio)
telegram.me/Learncpp/1194
🔹زمان (time)
telegram.me/Learncpp/1414
🔹سیگنال (signal)
telegram.me/Learncpp/1672
🔸کتابخانه بعدی درحال ترجمه است
⛔️ از آنجا که مطالب کانال از جایی کپی پیست و دزدیده نمی شوند همچنین یکی از اهداف اصلی کانال پوشش دادن ریز به ریز و کامل مطالب است تا خواننده درک درست و کاملی از آموزش ها داشته باشد، به همین خاطر ابتدا تمامیه مطالب درون word تایپ سپس پس از تکمیل به صورت رایگان داخل کانال قرار می گیرند، پس به دلیل جمع آوری مطالب ممکن است مدت زمانی درون کانال آموزشی قرار نگیرد به همین دلیل "لطفا صبر پیشه کنید"...
🎁 دوستانی که مشتاق به ترجمه کتابخانه های سی پلاس پلاس از سایت رسمی Cplusplus.com هستند یا تمایل به آموزش موضوعات مرتبط با سی پلاس را دارند (به صورت رایگان) به آیدی @QtCplusplus پیام بدن تا هماهنگی های لازم انجام شده و در انتها زحمات افراد همراه مشخصاتشان برای عموم داخل کانال @Learncpp منتشر شود🌹
❤️ تبلیغات بسیار ارزانتر جهت کمک به بچه های سرطانی
💝 @tabligh_cpp
آموزش تخصصی ➕➕©
🌈 @Learncpp
زحمت ترجمه قسمتی از کتابخانه "map" را آقای دانیال تقی پور کشیدن، از ایشون بخاطر کمکشون
سپاسگزاریم🙏🌺
@Learncpp
سپاسگزاریم🙏🌺
@Learncpp
🔸ترجمه کتابخانه "map (مَپ)" از سایت رسمی برنامه نویسان ++C به آدرس
www.cplusplus.com/reference
@Learncpp
www.cplusplus.com/reference
@Learncpp