- C++
字符串结构体知识汇总
- 2023-12-22 15:59:34 @
字符串相关:
- string str =" "; 定义一个字符串
- cin>>str; 输入字符串,遇到空格就停止
- getline(cin,str) 输入字符串,遇到空格不会停止
- int len=str.size() / str.length() 获取字符串的长度
- str[i] 使用下标方式取得字符串的每一位,字符串的每一位 就是一个字符char类型,这里的i是下标,从0开始
字符串处理的一些主要常用函数包括:
- length()/size(): 返回字符串长度。
用法:
str.size()
- substr(): 提取子字符串。
用法:
str.substr(起始位置, 长度)
- find(): 查找子串首次出现的位置。
用法:
str.find(子串)
- erase(): 删除字符串中的一部分。
用法:
str.erase(起始位置, 长度)
- append() / operator+=: 追加字符串。
用法:
str.append(另一字符串)
或str += 另一字符串
- insert(): 在指定位置插入字符串。
用法:
str.insert(插入位置, 插入字符串)
- replace(): 替换字符串中的一部分。
用法:
str.replace(起始位置, 长度, 替换字符串)
- compare(): 比较两个字符串。
用法:
str1.compare(str2)
3 条评论
-
jinhaiyan002 LV 2 MOD @ 2025-3-31 12:50:33
#include<bits/stdc++.h> using namespace std; void A(char c){//单个字符转换 c=getchar();//输入单个字符 //putchar(c);//输出单个字符 if(islower(c)){//判断小写 cout<<char(toupper(c));//转大写 //注:转大写或转小写后会输出ASCLL码,所以要转char } else if(isupper(c)){//判断大写 cout<<char(tolower(c));//转小写 } else if(isdigit(c)){//判断数字 cout<<int(c); } return; } void B(int x){//字符串与数字的转换 string s=to_string(x)+"250";//数字转字符 cout<<s<<'\n'; x=stoi(s)+1;//字符转数字 //注:字符串转数字时里头不得有除数字外其它字符出现 cout<<x; } void C(string s){ //找整个字符串的中的y /* cout<<s.find('y',3);//找第一个y的下标,从下标三开始找(不写默认为0) //若未找到 返回-1 */ int p=0; while(s.find('y',p)!=-1){ int x=s.find('y',p); cout<<x<<' '; p=x+1; } } void D(string s){//替换字符串 s="jhy·simaada·yiheihua·yan";//原字符串 string a="yiheihua";//被替换的部分 string b="weiheihua";//替换内容 int p=s.find(a);//取下标 if(p!=-1){ s.replace(p,a.size(),b);//s.replase(开始替换下标,替换长度,内容) } } void E(string s){//插入字符串 s="jhy·simaada·yan"; string a="youfather·"; s.insert(0,a);//s.insert(下标,字符串) //注:在下标之前插入 cout<<s; } void F(string s){//截取字符串 string a=s.substr(0,7);//s.substr(开始位置,长度) //注:若第二个参数不填则默认取到最后 cout<<a; return; } void G(string s){//删除字符串 s.erase(0,7);//s.erace(开始位置,长度); //注:删除后长度会缩小,所以若取长度不能用l得用s.size() cout<<s; return; } void H(){//转换整个字符串 (小写或大写) string a="JHY is god!!!She is the most clever god in the world!!!"; transform(a.begin(),a.end(),a.begin(),::tolower());//全部转小写,转大写将lower改为 upper // 开头 结尾 覆盖起始位置 要求 cout<<a;//JM!:KRWLKZGLRZXDDF:WYJSGLZMWYBXXZY:ZFLZFL:SLJJW!!! return; } int main(){ char c; int x=1364; string s="jhyyyds shenmingjhy!!!"; return 0; }
😄 1 -
2024-11-20 18:44:02@
谢谢老师
-
2024-2-4 22:49:48@
结构体基本用法
struct Person { string name; int age; double height; };
创建结构体变量:
一旦定义了结构体,您可以创建结构体变量,即实际的数据对象。
Person person1; // 创建一个名为 person1 的 Person 结构体变量
访问结构体成员:
要访问结构体成员,可以使用成员访问运算符
.
,后跟成员的名称。person1.name = "John"; person1.age = 30; person1.height = 175.5;
初始化结构体:
可以通过多种方式初始化结构体变量,包括在声明时初始化、逐个成员初始化或使用构造函数(如果定义了的话)
Person person2 = {"Alice", 25, 162.0}; // 声明时初始化 Person person3; person3.name = "Bob"; // 逐个成员初始化 person3.age = 40; person3.height = 180.3;
结构体作为参数和返回值:
结构体可以作为函数的参数和返回值,以便在函数之间传递和操作复杂的数据。
void printPerson(const Person& p) { cout << "Name: " << p.name << ", Age: " << p.age << ", Height: " << p.height << endl; } Person createPerson(const std::string& name, int age, double height) { Person p; p.name = name; p.age = age; p.height = height; return p; }
👍 5
- 1