کتابخانهها و توابع استاندارد در ++C
در زبان ++C، کتابخانهها (Libraries) مجموعهای از کدها و توابع از پیش تعریفشده هستند که به برنامهنویسان این امکان را میدهند که به راحتی کارهای پیچیدهتری را انجام دهند بدون اینکه نیاز به نوشتن کدهای تکراری یا پیچیده باشد. ++C دارای کتابخانههای استاندارد مختلفی است که برای انجام عملیات مختلف مانند ورودی/خروجی، پردازش دادهها، مدیریت حافظه و ... استفاده میشوند.
۱. کتابخانههای استاندارد ++C
۱.۱ کتابخانه iostream
کتابخانه iostream برای انجام عملیات ورودی و خروجی (I/O) در ++C استفاده میشود. این کتابخانه شامل اشیاء cin و cout برای خواندن ورودی و نوشتن خروجی است.
- cin: برای دریافت ورودی از کاربر.
- cout: برای نمایش دادهها به کاربر.
- cerr: برای نمایش پیامهای خطا.
- clog: برای نمایش پیامهای لاگ.
using namespace std;
int main() {
int x;
cout << "یک عدد وارد کنید: ";
cin >> x;
cout << "عدد وارد شده: " << x << endl;
return 0;
}
۱.۲ کتابخانه cmath
کتابخانه cmath شامل توابع ریاضی استاندارد است که میتوانند برای انجام عملیات ریاضی مختلف مانند جذر، توابع مثلثاتی، و توابع نمایی استفاده شوند.
توابع مهم:
- sqrt(): جذر یک عدد.
- pow(): توان یک عدد.
- sin(), cos(), tan(): توابع مثلثاتی.
- log(), exp(): توابع لگاریتم و نمایی.
#include <cmath>
using namespace std;
int main() {
double num = 16;
cout << "جذر " << num << " برابر است با " << sqrt(num) << endl;
return 0;
}
۱.۳ کتابخانه string
کتابخانه string شامل توابع و امکانات برای مدیریت و پردازش رشتهها است. با استفاده از این کتابخانه میتوان عملیات مختلفی مانند اتصال رشتهها، مقایسه، جستجو و تغییر رشتهها را انجام داد.
توابع مهم:
- ()length: طول رشته.
- ()substr: زیررشته.
- ()find: پیدا کردن یک رشته در رشته دیگر.
- ()append: افزودن به انتهای رشته.
#include <string>
using namespace std;
int main() {
string str = "سلام دنیا!";
cout << "طول رشته: " << str.length() << endl;
cout << "زیررشته: " << str.substr(0, 5) << endl;
return 0;
}
۱.۴ کتابخانه vector
کتابخانه vector برای استفاده از آرایههای پویا (dynamic arrays) است. vector به شما این امکان را میدهد که اندازه آرایه را در حین اجرا تغییر دهید.
توابع مهم:
- push_back(): افزودن یک عنصر به انتهای بردار.
- size(): تعداد عناصر در بردار.
- at(): دسترسی به عنصر در موقعیت مشخص.
- clear(): پاکسازی تمامی عناصر بردار.
#include <vector>
using namespace std;
int main() {
vector<int> vec;
vec.push_back(10);
vec.push_back(20);
vec.push_back(30);
cout << "اولین عنصر: " << vec.at(0) << endl;
cout << "تعداد عناصر: " << vec.size() << endl;
return 0;
}
۱.۵ کتابخانه algorithm
کتابخانه algorithm شامل توابع مفیدی است که برای انجام عملیاتهای مختلف بر روی دادهها مانند مرتبسازی، جستجو، و تغییر دادهها استفاده میشوند.
توابع مهم:
- ()sort: مرتبسازی دادهها.
- ()find: جستجو در دادهها.
- ()reverse: معکوس کردن ترتیب عناصر.
- ()min(),max: پیدا کردن بزرگترین و کوچکترین عنصر.
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {10, 30, 20, 40, 50};
sort(vec.begin(), vec.end()); // مرتبسازی
cout << "اولین عنصر مرتبشده: " << vec[0] << endl;
return 0;
}
۱.۶ کتابخانه fstream
کتابخانه fstream برای انجام عملیات ورودی/خروجی با فایلها استفاده میشود. از این کتابخانه میتوانید برای خواندن و نوشتن در فایلها بهره ببرید.
توابع مهم:
- ofstream: برای نوشتن در فایل.
- ifstream: برای خواندن از فایل.
- fstream: برای خواندن و نوشتن در فایل.
#include <fstream>
using namespace std;
int main() {
ofstream file("example.txt"); // باز کردن فایل برای نوشتن
if (file.is_open()) {
file << "سلام به فایل!" << endl;
file.close();
} else {
cout << "خطا در باز کردن فایل!" << endl;
}
return 0;
}
۱.۷ کتابخانه map
کتابخانه map برای ذخیرهسازی دادهها بهصورت جفتهای کلید و مقدار (key-value pairs) استفاده میشود. این کتابخانه به شما این امکان را میدهد که به راحتی دادهها را بر اساس کلید جستجو کنید و آنها را تغییر دهید.
توابع مهم:
- ()insert: افزودن یک جفت کلید و مقدار به نقشه.
- ()find: جستجوی یک مقدار بر اساس کلید.
- ()erase: حذف یک جفت کلید و مقدار.
- ()size: تعداد جفتهای کلید و مقدار.
#include <map>
using namespace std;
int main() {
map<int, string> myMap;
myMap[1] = "یک";
myMap[2] = "دو";
myMap[3] = "سه";
cout << "مقدار کلید 2: " << myMap[2] << endl;
return 0;
}
۲. توابع استاندارد دیگر
۲.۱ توابع ورودی و خروجی دیگر
- ()getline: برای خواندن یک خط کامل از ورودی.
- ()flush: برای اطمینان از اینکه بافر خروجی خالی شود.
۲.۲ توابع ریاضی دیگر
- ()abs: برای محاسبه قدر مطلق.
- ()ceil: برای گرد کردن به بالا.
- ()floor: برای گرد کردن به پایین.
۲.۳ توابع زمان و تاریخ
- ()time: برای دریافت زمان جاری.
- chrono: برای مدیریت زمان و زمانسنجی دقیقتر.
نتیجهگیری
کتابخانههای استاندارد ++C مجموعهای از توابع از پیش تعریفشده هستند که به برنامهنویسان این امکان را میدهند تا بسیاری از عملیاتها را بدون نیاز به نوشتن کدهای پیچیده انجام دهند. با استفاده از این کتابخانهها میتوانید کارهای مختلفی مثل ورودی/خروجی، پردازش دادهها، انجام محاسبات ریاضی، مدیریت فایلها و زمان را به راحتی انجام دهید. استفاده از کتابخانههای استاندارد در ++C باعث سادهتر شدن برنامهنویسی و افزایش کارایی میشود.
