在Linux中,C++程序可以利用标准库函数来完成各种任务。这些函数主要包含在C++标准库(STL)和C标准库中。以下是一些常用的C++标准库函数及其使用方法:
输入输出流(iostream)
std::cout:用于输出到控制台。std::cin:用于从控制台输入。#include <iostream>
int main() {
int num;
std::cout << "Enter a number: ";
std::cin >> num;
std::cout << "You entered: " << num << std::endl;
return 0;
}
字符串处理(string)
std::string:用于处理字符串。#include <string>
int main() {
std::string str = "Hello, World!";
std::cout << str << std::endl;
return 0;
}
容器(vector, list, map等)
std::vector:动态数组。std::list:双向链表。std::map:键值对映射。#include <vector>
#include <list>
#include <map>
int main() {
std::vector<int> vec = {1, 2, 3};
std::list<std::string> lst = {"apple", "banana", "cherry"};
std::map<std::string, int> mp = {{"apple", 1}, {"banana", 2}};
return 0;
}
算法(algorithm)
std::sort:排序。std::find:查找。#include <algorithm>
#include <vector>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5};
std::sort(vec.begin(), vec.end());
auto it = std::find(vec.begin(), vec.end(), 4);
if (it != vec.end()) {
std::cout << "Found 4 at position " << std::distance(vec.begin(), it) << std::endl;
}
return 0;
}
数学函数(math.h)
std::sqrt:平方根。std::pow:幂运算。#include <cmath>
int main() {
double num = 16.0;
std::cout << "Square root of " << num << " is " << std::sqrt(num) << std::endl;
std::cout << "Power of " << num << " to the power of 2 is " << std::pow(num, 2) << std::endl;
return 0;
}
文件操作(stdio.h)
fopen:打开文件。fclose:关闭文件。fread:读取文件。fwrite:写入文件。#include <cstdio>
int main() {
FILE* file = fopen("example.txt", "w");
if (file == nullptr) {
std::cerr << "Failed to open file" << std::endl;
return 1;
}
fprintf(file, "Hello, World!\n");
fclose(file);
return 0;
}
字符串处理(string.h)
strlen:获取字符串长度。strcpy:复制字符串。#include <cstring>
int main() {
char str[] = "Hello, World!";
std::cout << "Length of string: " << strlen(str) << std::endl;
char dest[50];
strcpy(dest, str);
std::cout << "Copied string: " << dest << std::endl;
return 0;
}
在Linux中,你可以使用g++编译器来编译C++程序。例如:
g++ -o myprogram myprogram.cpp
./myprogram
确保你已经安装了必要的库和工具链。大多数Linux发行版默认安装了这些库。
通过这些示例,你可以看到如何在Linux中使用C++标准库函数来完成各种任务。根据具体需求,你可以进一步探索和使用更多的库和函数。