第一周(10.17~10.23)
一,C++ string转long long
我们可以用stringstream进行转换,头文件#include <sstream>
#include <iostream> #include <sstream> using namespace std; int main() { string strLLNum = "1234567890123"; stringstream strIn; strIn<<strLLnum; long long llNum; strIn>>llNum; cout<<llNum; return 0; }
二,C++ string 简单截取字符串使用之substr
substr 函数原型:
原型:string substr (size_t pos = 0, size_t len = npos) const; 参数说明:pos=截取起始位 ,len=截取长度。 返回值:子字符串
用法一:截取下标从2(也就是从第三个字符起)开始到字符串结尾的字符串
#include <string> #include <iostream> using namespace std; int main() { string strInfo = "Hello Word!"; strInfo = strInfo.substr(2); cout << "strInfo=" << strInfo.c_str() << endl; //最终输出显示:strInfo=llo Word! return 0; }
用法二:截取文件后缀类型名称
string strFileName = "ComponentConfig.ini"; strFileName = strFileName.substr(strFileName.find_last_of(".") + 1); cout << "strFileName=" << strFileName.c_str() << endl; //最终输出显示:strFileName=ini,得到扩展名
用法三:截取下标从2(第3个字符起)开始截取3个字符的字符串
string strInfo = "Hello Word!"; strInfo = strInfo.substr(2, 3); cout << "strInfo=" << strInfo << endl; //最终输出显示:strInfo=llo,从下标元素为2开始向后到第3位
用法四:截取文件名而不要扩展名
string strFileName = "ComponentConfig.ini"; strFileName = strFileName.substr(0, strFileName.find_last_of(".")); cout << "strFileName=" << strFileName.c_str() << endl; //最终输出显示:strFileName=ComponentConfig,截取到不含扩展名的文件名
三,c++读取文件夹下的所有文件名
// linux #include <iostream> #include <sys/types.h> #include <dirent.h> #include <vector> void getFiles(string path, vector<string>& filenames) { DIR *pDir; struct dirent* ptr; if(!(pDir = opendir(path.c_str()))){ cout<<"Folder doesn't Exist!"<<endl; return; } while((ptr = readdir(pDir))!=0) { if (strcmp(ptr->d_name, ".") != 0 && strcmp(ptr->d_name, "..") != 0){ filenames.push_back(path + "/" + ptr->d_name); } } closedir(pDir); }
四,docker服务命令
# 启动: systemctl start docker #守护进程重启: systemctl daemon-reload #重启docker服务: systemctl restart docker / service docker restart #关闭: docker service docker stop / docker systemctl stop docker
docker出现Error response from daemon: driver failed programming external connectivity on endpoint解决方法
systemctl restart docker
五,Centos 7 配置防火墙
1、查看firewall服务状态
systemctl status firewalld
2、查看firewall的状态
firewall-cmd --state
3、开启、重启、关闭、firewalld.service服务
# 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop
4、查看防火墙规则
firewall-cmd --list-all
5、查询、开放、关闭端口
# 查询端口是否开放 firewall-cmd --query-port=8080/tcp # 开放80端口 firewall-cmd --permanent --add-port=80/tcp # 移除端口 firewall-cmd --permanent --remove-port=8080/tcp #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload # 参数解释 1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口;