零零散散的知识点200728

string::size_type idx = line.find("\r");//3
if(idx!= string::npos)//1
line.erase(line.end()-1);
//2
1、查找字符串a是否包含子串b,用 strA.find(strB) != string:npos,其中string:npos是个特殊值,说明查找没有匹配。
2、删除字符串line的末尾字符:eg:line=“1bcde”,则删除e。
3、从逻辑上讲,size()成员函数应该似乎返回整型数值,但事实上,size操作返回是string::size_type类型的值。string类类型和其他许多库类型都定义了一些配套类型(companion type)。通过这些配套类型,库函数的使用就与机器无关(machine-independent)。size_type就是这些配套类型中的一种。它定义为与unsigned型(unsigned int获unsigned long)具有相同含义,而且保证足够大的能够存储任意的string对象的长度。string::size_type它在不同的机器上,长度是可以不同的,并非固定的长度。但只要你使用了这个类型,就使得你的程序适合这个机器。与实际机器匹配。string对象的索引也应为size_type类型。
npos表示size_type的最大值,用来表示不存在的位置。find()成员函数的返回值为size_type

cv::Rect rect(x1, y1, x2-x1, y2-y1);
CvRect(含4个数据成员,x、y、width、height)是OpenCV里面的基本数据类型,其功能是包通过定义矩形左上角坐标和矩形的宽和高来确定一个矩形。上面的语句x1,y1,x2,y2是坐标。

string str;
str.find()
str.rfind()

1.string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数)
string s(“1a2b3c4d5e6f7jkg8h9i1a2b3c4d5e6f7g8ha9i”);
string flag;
string::size_type position;
//find 函数 返回jk 在s 中的下标位置
position = s.find(“jk”);

2.返回子串出现在母串中的首次出现的位置,和最后一次出现的位置。
position = s.find_first_of(flag);
printf(“s.find_first_of(flag) is :%d\n”,position);
position = s.find_last_of(flag);
printf(“s.find_last_of(flag) is :%d\n”,position);

3.查找某一给定位置后的子串的位置
//从字符串s 下标5开始,查找字符串b ,返回b 在s 中的下标
position=s.find(“b”,5);
cout<<"s.find(b,5) is : "<<position<<endl;

4、反向查找子串在母串中出现的位置,通常我们可以这样来使用,当正向查找与反向查找得到的位置不相同说明子串不唯一。
//反向查找,flag 在s 中最后出现的位置
flag=“3”;
position=s.rfind (flag);

以上摘自https://www.cnblogs.com/wkfvawl/p/9429128.html

string str
str.substr()

substr有2种用法:
假设:string s = “0123456789”;
string sub1 = s.substr(5); //只有一个数字5表示从下标为5开始一直到结尾:sub1 = “56789”
string sub2 = s.substr(5, 3); //从下标为5开始截取长度为3位:sub2 = “567”
以上摘自https://blog.csdn.net/fox_triumph/article/details/82355045

C++中setw()函数
setw(int n)是c++中在输出操作中使用的字段宽度设置,设置输出的域宽,n表示字段宽度。只对紧接着的输出有效,紧接着的输出结束后又变回默认的域宽。
当后面紧跟着的输出字段长度小于n的时候,在该字段前面用空格补齐;当输出字段长度大于n时,全部整体输出。
setw()函数应用如下:

#include
#include

using namespace std;

int main()
{
cout << setw(3) << 1 << 1234 << endl;
cout << 1234 << setw(7) << 1234 << 12345 << endl;
cout << 1234 << setw(3) << 12345 << endl;
cout << 1234 << setw(4) << 123456 << 12 << setw(5) << 123 << endl;
return 0;
}
运行结果如下,注意看空格
在这里插入图片描述
————————————————
版权声明:本文为CSDN博主「阿付0813」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fzk0813/article/details/88303902

C++中setfill()函数
setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充。

atoi()
int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 [1] 。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值