c语言字符串处理库函数,调用c语言提供的对字符进行处理的库函数时
字符串定义:
a)字符串s;
//生成空字符串s
stringa= eholldfs
a= dfgdfg
CIN a;
b)字符串s(str)
//复制构造函数生成str的副本
c)字符串s(str,stridx)
//将字符串str 从stridx 位置开始的部分作为字符串的初始值
d)字符串s(str,stridx,strlen)
//将字符串str 从stridx开始,最多strlen 的部分作为字符串的初始值
e)字符串s(cstr)
//取C字符串作为s的初始值。
f)字符串(chars,chars_len)
//将C字符串的前几个chars_len字符作为s字符串的初始值。
g)字符串s(数字,c)字符串a(7, 0 )
//生成包含num C个字符的字符串
h)字符串s(beg,end)
//带区间beg末尾(不包括末尾)的字符用作字符串s的初始值。
i)s.~string()
//销毁所有字符并释放内存
字符串函数:
1 .字符串到整数
number=atoi(ST . c _ str());
2.int到弦
函数名:itoa
原型:char * itoa (intvalue,char * string,intradix)
函数:将整数值转换为等效的字符串。
函数返回:一个指向字符串的指针
参数说明:value-需要转换的数值,radix-转换的十进制,如10表示十进制转换。
文件:stdlib.h
#包含stdlib.h
#包含stdio.h
int main()
{
int number=123456L
char string[25];
ltoa(数字,字符串,10);
printf(整数=%ld字符串=%s ,数字,字符串);
返回0;
}
Itoa功能
编辑百科名片寻求帮助
Itoa是C语言的一个函数。Itoa函数是一种广泛使用的C语言,从非标准扩展到标准。不能移植,因为不是标准定义的C语言。但是编译器通常允许它以不遵循程序标准的方式传递头stdlib.h,因为它是一个逻辑上对应标准库的函数。Itoa接受一个整数输入值,并将其转换为数字的底数。
目录
原型
功能
1.使用方法
过程示例
1.备注:
将数字转换成字符串的函数名和函数
发动
原型
功能
1.使用方法
过程示例
1.备注:
将数字转换成字符串的函数名和函数
发动
编辑此段落的原始类型。
char *itoa(int value,char *string,int radix);
原型描述:
Value:要转换的数据。
String:目标字符串的地址。
基数:转换后的十进制数,可以是十进制、十六进制等。
编辑本段的功能。
将整数转换成字符串。
使用
itoa(i,num,10);
I -需要转换成字符串的数字。
num-转换后保存字符串的变量。
0-转换数字的基数(即十进制)。10表示数字按照十进制进行转换。也可以是2、8、16等等,都是你喜欢的二进制类型。
返回值:指向字符串num的指针
编辑此过程示例。
示例:
#包含stdlib.h
#包含stdio.h
int main(void)
{
int number=12345
char string[25];
itoa(数字,字符串,10);
printf(整数=%d字符串=%s\n ,数字,字符串);
返回0;
}
char *itoa(整数值,char *字符串,整数基数)
整数值被转换成字符串并存储在字符串中,
Radix是转换中使用的基数(保存在字符串中的数据的十进制基数)。
注意:
itoa()函数有三个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是用于传输数字的基数(十进制)。在上面的例子中,转换基数是10,这意味着转换基数是10。10:十进制;2:二元.
Itoa不是一个标准的C函数,它是Windows特有的。如果想写跨平台的程序,请使用sprintf。
它是在Windows平台下扩展的,标准库中有sprintf,比这个更强大,用法和printf差不多:
char str[255];
sprintf(str, %x ,100);//将100转换为十六进制表示的字符串。
下列函数可以将整数转换为字符串:
在本段中编辑函数名和将数字转换为字符串的函数。
Itoa()将整数值转换为字符串。
Litoa()将长整型值转换为字符串。
Ultoa()将无符号长整型值转换为字符串。
3 .字符串到字符
string str= abcd
char * ch=str . c _ str();
4.字符到字符串
char * cstr= Hello
字符串str1
cstr=cstr
字符串str 2(CSTR);
复制
a=b;
6.字符串长度
len=str . length();
len=str . size();
7.字符串比较
直接对比====!=
str 1 . compare(str 2);
str1.compare(pos1,len1,str2,pos2,le N2);该值为负数、0和正数。Nops长度上升。
8.额外的
str1=str2
9.字符串提取
str2=str1.substr(pos1,le n1);
10.字符串搜索
其中=str 1 . find(str 2);
其中=str1.find(str2,pos 1);Pos1以str1的编号开始。
其中=str 1 . rfind(str 2);从后向前搜索。
1.插入一个字符串。
str1.insert(pos1,str 2);
str1.insert(pos1,str2,pos2,len 2);
str1.insert(pos1,numchar,char);Numchar是插入的数目,char是要插入的字符。
12.替换字符串
str1.replace(pos1,str 2);
str1.replace(pos1,str2,pos2,len 2);
13.删除字符串
str.erase(pos,len)
str . clear();
14.交换字符串。
swap(str1,str 2);
#包含算法
主()
{
int n;
CIN n;
string a[999]={ };//字符串数组,多个字符串
for(int I=0;I=n-1;我)
CIN a[I];
sort(a,a n);//排序,数组名,数组长度
for(int I=n-1;I I-)cout a[I];
系统(“暂停”);
}
#包括iostream
使用命名空间std
#包含字符串
主()
{
字符串x;int n,I=0;
CIN x n;
而(n!=0)
if(x[i] x[i 1])
{x.erase(i -,1);n-;}//从字符串中删除元素
否则我;
cout x;
系统(“暂停”);
}
#包括iostream
使用命名空间std
int main(){
string str= 12345
cout atoi(str . c _ str())endl;//字符串到数字
系统(“暂停”);
}
字符处理:
函数名:strcat
功能:字符串拼接功能
用法:char * strcat (char * destination,char * source);
函数名:strchr
函数:查找字符串中给定字符的第一个匹配项
用法:char * char *strchr(char *str,char c);
函数名:strcmp
功能:字符串比较
用法:int strcmp(char *str1,char * str 2);
看Asic代码,str1 str2,返回值0;两个字符串相等,返回0。
函数名:strncmpi
函数:将一个字符串的一部分与另一个字符串进行比较,不区分大小写
用法:int strncmpi (char * str1,char * str2,unsigned maxlen);
函数名:strcpy
功能:串行复制
用法:char * strcpy (char * str1,char * str 2);
函数名:strcspn
函数:在字符串中找到给定字符集的第一段。
用法:int strcspn(char *str1,char * str 2);
函数名:strdup
函数:将字符串复制到新创建的位置。
用法:char * strdup(char * str);
函数名:stricmp
函数:以不区分大小写的方式比较两个字符串
用法:int stricmp(char *str1,char * str 2);
函数名:strerror
函数:返回指向错误信息字符串的指针。
用法:char * strerror(int errnum);
函数名:strcmpi
函数:将一个字符串与另一个字符串进行比较,不区分大小写
用法:int strcmpi(char *str1,char * str 2);
函数名:strncmp
功能:字符串比较
用法:int strncmp (char * str1,char * str2,int maxlen);
函数名:strncmpi
函数:将字符串的一部分与另一部分进行比较,不区分大小写。
用法:int strncmpi (char * str1,char * str 2);
函数名:strncpy
功能:串行复制
用法:char * strncpy (char * destination,char * source,int maxlen);
函数名:strnicmp
函数:比较两个字符串,不注意大小写。
用法:int strn icmp (char * str1,char * str2,unsigned maxlen);
函数名:strnset
函数:将字符串中的所有字符设置为指定字符。
用法:char * str nset (char * str,char ch,unsigned n);
函数名:strpbrk
函数:在字符串中查找给定字符集中的字符。
用法:char * strbprk (char * str1,char * str 2);
函数名:strrchr
函数:查找指定字符在字符串中的最后一个匹配项。
用法:char * char *strrchr(char *str,char c);
函数名:strrev
功能:字符串反转
用法:char * strrev(char * str);
函数名:strset
函数:将字符串中的所有字符设置为指定字符。
用法:char *strset(char *str,char c);
函数名:strspn
函数:在字符串中查找指定字符集的子集的第一个匹配项。
用法:int strspn(char *str1,char * str 2);
函数名:strstr
函数:在字符串中查找指定字符串的第一个匹配项。
用法:char * strstr (char * str1,char * str 2);
函数名:strtod
函数:将字符串转换为双精度值。
用法:double strtod (char * str,char * * endptr);
函数名:strtok
函数:查找由第二个字符串中指定的分隔符分隔的单词。
用法:char * strtok (char * str1,char * str 2);
函数名:strtol
函数:将字符串转换为长整数。
用法:long strtol (char * str,char * * endptr,int base);
函数名:strupr
函数:将字符串中的小写字母转换成大写字母。
用法:char * strupr(char * str);
功能名称:棉签
功能:交换字节
用法:void swab (char * from,char * to,int n bytes);
其他字符串:
char* strspnp( const char* str,const char * chr set);
中字符串类的常用算法
类字符串的构造函数:
string(const char * s);//用C字符串s初始化。
string(int n,char c);//用n个字符c初始化。
此外,string类还支持默认构造函数和复制构造函数,如strings1string s2= hello都写对了。当构造的字符串太长而无法表达时,就会引发length_error异常。
类字符串的字符操作:
const char运算符[](int n)const;
const char at(int n)const;
char运算符[](int n);
char at(int n);
运算符[]和at()都返回当前字符串中第n个字符的位置,但是at函数提供范围检查,并在超出范围时抛出out_of_range异常。下标运算符[]不提供检查访问。
const char * data()const;//返回一个非空终止的C字符数组
const char * c _ str()const;//返回一个空终止的C字符串
int copy(char *s,int n,int pos=0)const;//将当前字符串中以pos开头的N个字符复制到以S开头的字符数组中,并返回实际复制的数量。
字符串的属性描述:
int capacity()const;//返回当前容量(即在不增加内存的情况下,字符串中可以存储的元素数量)
int max _ size()const;//返回string对象中可以存储的最大字符串的长度
int size()const;//返回当前字符串的大小
int length()常量;//返回当前字符串的长度
bool empty()常量;//当前字符串是否为空
void resize(int len,char c);//将字符串的当前大小设置为len,用字符C填充字符串类不足部分的输入输出操作:
类重载操作符operator //用于输入,同样的重载操作符operator用于输出操作。
getline(istream in,string //函数用于将输入流中的字符串读取到s中,由换行符“\n”分隔。
字符串的赋值:
String operator=(const string //将字符串S赋给当前字符串
字符串赋值(const char * s);//用类型C字符串s赋值。
string assign(const char *s,int n);//分配以C字符串s开头的n个字符的值。
String assign(const string //将字符串S赋给当前字符串
string assign(int n,char c);//将N个字符C赋给当前字符串
string assign(const string s,int start,int n);//将字符串S中从开始的N个字符赋给当前字符串
string assign(const_iterator在前,const_iterator在后);//将第一个和最后一个迭代器之间的部分赋给字符串
字符串的连接:
String operator=(const string //将字符串S连接到当前字符串的末尾
字符串追加(const char * s);//将C类型字符串连接到当前字符串的末尾
string append(const char *s,int n);//将C类型字符串S的前N个字符连接到当前字符串的末尾
字符串追加(常量字符串//与运算符=()相同)
string append(const string s,int pos,int n);//将字符串S中pos到当前字符串末尾的N个字符连接起来
string append(int n,char c);//将N个字符C添加到当前字符串的末尾
string append(const_iterator在前,const_iterator在后);//将迭代器第一个和最后一个之间的部分连接到当前字符串的末尾
字符串的比较:
bool perator==(常量字符串s1,常量字符串s2)常量;//比较两个字符串是否相等
运算符,,=,=,!=都被重载以进行字符串比较;
int compare(const字符串s)const;//将当前字符串与s的大小进行比较
int compare(int pos,int n,const string s)const;//将从pos开始的N个字符组成的当前字符串与s的大小进行比较。
int compare(int pos,int n,const string s,int pos2,int N2)const;//比较s中从pos开始的N个字符和从pos2开始的n2个字符组成的当前字符串的大小。
int compare(const char * s)const;
int compare(int pos,int n,const char * s)const;
int compare(int pos,int n,const char *s,int pos 2)const;
当=时,比较函数返回1,当=时返回-1,当=时返回0
字符串的子串:
string substr(int pos=0,int n=NPOs)const;//返回刷卡机开始的n个字符组成的字符串线的交换:
无效交换(字符串S2);//交换当前字符串与s2的值
线类的查找函数:
int find(char c,int pos=0)const;//从刷卡机开始查找字符c在当前字符串的位置
int find(const char *s,int pos=0)const;//从刷卡机开始查找字符串s在当前串中的位置
int find(const char *s,int pos,int n)const;//从刷卡机开始查找字符串s中前n个字符在当前串中的位置
int find(常量字符串s,int pos=0)常量;//从刷卡机开始查找字符串s在当前串中的位置
//查找成功时返回所在位置,失败返回string:NPO的值
int rfind(char c,int pos=NPOs)const;//从刷卡机开始从后向前查找字符c在当前串中的位置
int rfind(const char *s,int pos=NPOs)const;
int rfind(const char *s,int pos,int n=NPOs)const;
int rfind(const string s,int pos=NPOs)const;
//从刷卡机开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string:NPO的值
int find_first_of(char c,int pos=0)const;//从刷卡机开始查找字符c第一次出现的位置
int find_first_of(const char *s,int pos=0)const;
int find_first_of(const char *s,int pos,int n)const;
int find_first_of(常量字符串s,int pos=0)常量;
//从刷卡机开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。查找失败返回
string:NPO
int find_first_not_of(char c,int pos=0)const;
int find _ first _ not _ of(const char * s,int pos=0)const;
int find _ first _ not _ of(const char * s,int pos,int n)const;
int find_first_not_of(常量字符串s,int pos=0)常量;
//从当前串中查找第一个不在串s中的字符出现的位置,失败返回string:NPO
int find_last_of(char c,int pos=NPOs)const;
int find_last_of(const char *s,int pos=NPOs)const;
int find_last_of(const char *s,int pos,int n=NPOs)const;
int find_last_of(常量字符串s,int pos=npos常量;
int find_last_not_of(char c,int pos=NPOs)const;
int find _ last _ not _ of(const char * s,int pos=NPOs)const;
int find _ last _ not _ of(const char * s,int pos,int n)const;
int find_last_not_of(常量字符串s,int pos=npos常量;
//find_last_of和查找最后一个不是的与find_first_of和find_first_not_of相似,只不过是从后向前查找
线类的替换函数:
字符串替换(int p0,int n0,const char * s);//删除从p0蛋白蛋白开始的没有个字符,然后在p0蛋白蛋白处插入串s
string replace(int p0,int n0,const char *s,int n);//删除p0蛋白蛋白开始的没有个字符,然后在p0蛋白蛋白处插入字符串s的前n个字符
字符串替换(int p0,int n0,const string //删除从p0蛋白蛋白开始的没有个字符,然后在p0蛋白蛋白处插入串s
string replace(int p0,int n0,const string s,int pos,int n);//删除p0蛋白蛋白开始的没有个字符,然后在p0蛋白蛋白处插入串s中从刷卡机开始的n个字符
string replace(int p0,int n0,int n,char c);//删除p0蛋白蛋白开始的没有个字符,然后在p0蛋白蛋白处插入n个字符c
字符串替换(迭代器first0,迭代器last0,const char * s);//把[名字0,姓氏0]之间的部分替换为字符串s
字符串替换(迭代器first0,迭代器last0,const char *s,int n);//把[名字0,姓氏0]之间的部分替换为s的前n个字符
字符串替换(迭代器first0,迭代器last0,const string //把[名字0,姓氏0]之间的部分替换为串s
字符串替换(迭代器first0,迭代器last0,int n,char c);//把[名字0,姓氏0]之间的部分替换为n个字符c
字符串替换(迭代器first0,迭代器last0,const_iterator first,const _ iterator last);//把[名字0,姓氏0]之间的部分替换成[名字,姓氏]之间的字符串线类的插入函:
字符串插入(int p0,const char * s);
string insert(int p0,const char *s,int n);
字符串插入(int p0,常量字符串
string insert(int p0,const string s,int pos,int n);
//前四个函数在p0蛋白蛋白位置插入字符串s中刷卡机开始的前n个字符
string insert(int p0,int n,char c);//此函数在p0蛋白蛋白处插入n个字符c
迭代器插入(迭代器it,char c);//在该处插入字符C,并返回插入的迭代器的位置
void insert(iterator it,const_iterator first,const _ iterator last);//在[first,last]之间插入字符
void insert(迭代器it,int n,char c);//在它上面插入N个字符C
字符串类的删除函数
迭代器擦除(迭代器在先,迭代器在后);//删除[first,last]之间的所有字符,并返回被删除的迭代器的位置
迭代器erase(迭代器it);//删除它所指向的字符,返回被删除的迭代器的位置。
字符串擦除(int pos=0,int n=NPOs);//删除pos的前N个字符,返回修改后的字符串
字符串类的迭代器处理:
string类提供了向前和向后遍历的迭代器。迭代器提供了访问单个字符的语法,这类似于指针操作。迭代器不检查范围。
使用string:iterator或string:const_iterator声明迭代器变量。不允许Const _ iterator更改迭代的内容。常用的迭代器函数有:
const _ iterator begin()const;
迭代器begin();//返回字符串的起始位置
const _ iterator end()const;
迭代器end();//返回字符串最后一个字符后的位置
const _ iterator r begin()const;
迭代器Rb egin();//返回字符串最后一个字符的位置
const _ iterator rend()const;
迭代器render();//通过设置迭代器,返回rbegin并在字符串的第一个字符位置前渲染,进行从后向前的迭代访问
String: reverse _ iterator,string: const _ reverse _ iterator实现
字符串流处理:
通过在sstream的头文件中定义ostringstream和istringstream变量来实现。
例如:
字符串输入(‘你好,这是测试’);
istringstream是(输入);
字符串s1、s2、s3、S4;
是s1 s2 s3 s4//s1=您好,这,s2=是,s3=a ,s4=测试
ostringstream os
os s1 s2 s3 s4
cout OS . str();
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。