您的位置:首页 > 其它

字符串处理(库函数)

2016-05-11 20:59 288 查看

sscanf()

#include<cstdio>


从一个字符串中读进与指定格式相符的数据

学习资料分享:字符串处理时候的读入指定数据

经常碰到一串固定格式字符串中有需要处理的数据,比如foj1146这样的0:23:21 -:–:–

sscanf(s.c_str(),"%d:%d:%d",&hh,&mm,&ss);


sprintf()

#include<cstdio>


把格式化的数据写入某个字符串。

int num;
char s[1000];
sprintf(s,"%d",num);


reserve()

#include<string>


翻转字符串

超方便 比如foj1171 分分钟秒

reverse(s.begin(),s.end());


string s转char c[]

strcpy(c,s.c_str());


char c[] 转 string s

s = c;


next_permutation()

#include<algorithm>


比当前char型数组排序大的下一种排序

next_permutation(c,c+strlen(c));


c[]=”abcd”变为 abdc

memset()

#include<cstring>


对于对int之类的数组,只能用memset对其初始化为0或-1。

如:
int a[]; memset(a,0,sizeof(a));


而对于char型,可以赋任何字符。

如:
char a[]; memset(a,'0',sizeof(a));


fill()

#include<iostream>


把那一块单元赋成指定的值

char s[100];
fill(s,s+100,'a');


如果用memset给d[100]赋值1会出事 这时候就应用fill函数

int  d[100];
fill(d,d+100,1);


getline()

#include<string>


很常用的一个函数。

string s;
getline(cin,s);


默认是换行为分隔符。

也可以用其他字符作为分隔符,如用空格作为分隔符。

string s;
getline(cin,s,' ');


find()

#include<string>


找到则返回第一个字符的索引

没找到则返回 string::npos
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: