字符串
博文简述C/C++中常见库函数的操作。
概念
字符串即由char型数组存储一组字符的表达形式,在C++中存在string类型对字符串进行存储与操作。字符串由’\0’作为结束的标志。
输入方法
char str[120] = {0};
1.scanf("%s",str);
2.gets(str);
3.
int readline(char str[]){
int ch,i = 0;
while((ch = getchar())!='\n'&&ch!=EOF){
str[i] = ch;
i++;
}
str[i] = '\0';
return i;
}
4.getline(std::cin,str);
5.std::cin>>str;
输出方法
1.printf("%m.ns",str);
2.puts(str);
3.cout<<str;
C中字符串函数
字符串间处理
#include<string.h>
char dest[120],src[120],s1[120],s2[120],sub[120],str[120];
char ch;
int n;
1. char* strcpy(dest,src);
2. char* strncpy(dest,src,n);
3. int strlen(str);
4. char* strcat(dest,src);
5. char* strncat(dest,src,n);
6. int strcmp(s1,s2);
7. int strncmp(s1,s2);
8. char* strstr(src,sub);
9. char* strchr(src,ch);
10. char* strrchr(src,ch);
字符串与数字转化
#include<stdlib.h>
char str[10];
1. int atoi(str);
2. double atof(str);
3. long atol(str);
字符处理
#include<ctype.h>
1. int isalnum(int c);
2. int isalpha(int c);
3. int isdigit(int c);
4. int islower(int c);
5. int ispunct(int c);
6. int isspace(int c);
7. int isupper(int c);
8. int isxdigit(int c);
9. int tolower(int c);
10. int toupper(int c);
字符串中单个字符可由取下标操作进行随即访问并修改。键盘上能够组合得到的字符均在ASCII编码中。字符串可以存储中文,但编码格式与英文不同。
C++ string内置操作
1.构造函数
string s1();
string s2("Hello World");
string s3(3,'A');
string s4("ABCD",2,2);
2.长度
int str.length();
int str.size();
int str.capacity();
3.字符串拼接
string s1,s2;
1. s1+=s2;
2. s1.append(s2);
3. s1 = s1 + s2;
4.判断
string s1,s2;
s1>s2;
s1.empty();
5.查找(查找到则返回首下标,否则返回string::npos,即-1)
int find();
int rfind();
int find_first_of();
int find_last_of()
int find_first_not_of()
int find_last_not_of()
6.获取指定位置的子串
string substr(int n = 0, int m = string::npos) const;
7.替换子串
string replace(int begin,int end,string str);
string s1 = "12345";
string s2 = s1.replace(1,4,"abc");
8.删除子串[返回自身引用]
string& erase(int begin,int num);
string s1 = "12345",s2 = "abscdsf";
s1.erase(0,3);
s2.erase(1);
9.插入字符串
string& insert(int index,string str);
string s1 = "12345";
s1.insert(2,"my");
10.交换字符串
s1.swap(s2);
11.清除字符串
s1.clear();
|