当前位置: 首页 > wzjs >正文

一起做网站逛市场2345浏览器导航页

一起做网站逛市场,2345浏览器导航页,有什么网站可以做六级题目嘛,北京互联网教育公司排名C【STL】string用法扩展 1. assign:为字符串赋新值 用于替换字符串内容,支持多种参数形式。 常用形式: // 用另一个字符串赋值 str.assign("Hello World");// 用另一个字符串的子串(从第6个字符开始,取5…

C++【STL】string用法扩展

1. assign:为字符串赋新值

用于替换字符串内容,支持多种参数形式。

常用形式:
// 用另一个字符串赋值
str.assign("Hello World");// 用另一个字符串的子串(从第6个字符开始,取5个字符)
str.assign("Hello World", 6, 5);  // 结果:"World"// 用字符数组的前N个字符
str.assign("Hello World", 5);      // 结果:"Hello"// 用重复字符填充(重复5次'A')
str.assign(5, 'A');                // 结果:"AAAAA"// 用迭代器范围
std::string tmp = "Hello";
str.assign(tmp.begin(), tmp.end()); // 结果:"Hello"

2. replace:替换字符串的某一部分

替换指定位置的字符或子串。

常用形式:
std::string str = "Hello World";// 替换从位置6开始的5个字符为"Universe"
str.replace(6, 5, "Universe");     // 结果:"Hello Universe"// 替换迭代器范围内的内容
auto start = str.begin() + 6;
auto end = str.begin() + 11;
str.replace(start, end, "Galaxy"); // 结果:"Hello Galaxy"// 用子串替换(替换前3个字符为"Hi")
str.replace(0, 3, "Hi");           // 结果:"Hilo World"// 用重复字符替换(用3个'!'替换前5个字符)
str.replace(0, 5, 3, '!');         // 结果:"!!! World"

3. find:查找子串或字符的位置

返回第一个匹配的位置,未找到返回 string::npos

常用形式:
std::string str = "Hello World";// 查找子串
size_t pos = str.find("World");    // pos = 6// 查找字符
pos = str.find('W');              // pos = 6// 从指定位置开始查找
pos = str.find('l', 3);           // 从位置3开始查找,pos = 3(第一个'l'在位置2,但跳过)// 查找字符集合中任意一个字符
pos = str.find_first_of("aeiou"); // 查找第一个元音,pos = 1('e')// 未找到的示例
if (str.find("Moon") == std::string::npos) {std::cout << "未找到子串";
}

在C++中,std::string::substr 用于从字符串中提取子串。以下是其详细用法和示例:


substr

基本语法

std::string substr(size_t pos = 0, size_t len = npos) const;
  • 参数
    • pos:子串的起始位置(默认从 0 开始)。
    • len:子串的长度(默认到字符串末尾)。
  • 返回值:新的 std::string 对象,包含提取的子串。

1. 基本提取
std::string str = "Hello World";// 从位置6开始,提取到末尾
std::string sub1 = str.substr(6);      // sub1 = "World"// 从位置0开始,提取5个字符
std::string sub2 = str.substr(0, 5);   // sub2 = "Hello"// 从位置3开始,提取2个字符
std::string sub3 = str.substr(3, 2);   // sub3 = "lo"
2. 处理边界条件
  • 如果 pos 超出字符串长度,会抛出 std::out_of_range 异常。
  • 如果 len 超出剩余字符数,自动截取到字符串末尾。
std::string str = "Hello";std::string sub1 = str.substr(2, 10);  // sub1 = "llo"(len超出实际长度)
// std::string sub2 = str.substr(10);   // 抛出异常:pos超出范围
3. 结合 find 动态截取
std::string str = "user@example.com";// 查找 '@' 的位置,提取用户名
size_t at_pos = str.find('@');
if (at_pos != std::string::npos) {std::string username = str.substr(0, at_pos); // username = "user"
}// 提取域名部分
std::string domain = str.substr(at_pos + 1);      // domain = "example.com"


c_str()

std::string::c_str() 是一个成员函数,用于将 std::string 对象的内容转换为 C风格字符串(即以空字符 \0 结尾的字符数组)。兼容C语言

#include <string>
#include <cstdio> // 用于 printfint main() {std::string str = "Hello World";const char* cstr = str.c_str();// 与C函数交互(如 printf)printf("C字符串内容: %s\n", cstr); // 输出: Hello Worldreturn 0;
}

getline

  1. 从标准输入读取一行
#include <iostream>
#include <string>int main() {std::string line;std::cout << "请输入一行文本:";std::getline(std::cin, line);std::cout << "你输入的内容是:" << line << std::endl;return 0;
}

输出示例:

请输入一行文本:Hello C++ World
你输入的内容是:Hello C++ World
2. 自定义分隔符

#include <sstream>
#include <string>int main() {std::string data = "Apple,Orange,Banana";std::istringstream iss(data);std::string fruit;// 按逗号分隔读取while (std::getline(iss, fruit, ',')) {std::cout << "水果:" << fruit << std::endl;}return 0;
}

输出:

水果:Apple
水果:Orange
水果:Banana
3. 混合使用 >> 和 getline

int main() {int age;std::string name;std::cout << "请输入年龄:";std::cin >> age;  // 输入后缓冲区残留换行符// 清除残留的换行符std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');std::cout << "请输入姓名:";std::getline(std::cin, name);  // 正确读取完整姓名(含空格)std::cout << "年龄:" << age << ",姓名:" << name << std::endl;return 0;
}
http://www.dtcms.com/wzjs/468774.html

相关文章:

  • ppt模板免费下载百度云seo建站需求
  • 英文网站建设方案扬州网络推广哪家好
  • 中国白客网vip钓鱼网站开发seo行业岗位
  • 银川做网站哪家公司好免费的推广网站
  • 金华网站建设大型网页建设新公司怎么做网络推广
  • 荆州哪有做网站的公司百度关键词推广
  • 织梦网站数据下载谈谈你对seo概念的理解
  • 建筑设计地图网站seo优缺点
  • 专业做俄语网站建设自媒体平台注册官网下载
  • 可以上传资源的网站开发费用搜索关键词是什么意思
  • 泸州网站建设哪家好推广app赚佣金接单平台
  • 网站建设及维护服务器比百度强大的搜索引擎
  • 网站设置默认首页宁波seo外包推广渠道
  • html5响应式设计公司网站模板整站html源码下载识图搜索在线 照片识别
  • 网站建设的原则四川seo哪里有
  • 手机网站优化排名怎么做百度手机极速版
  • 东营网页制作公司seo引流什么意思
  • 免费网站模板psd推广什么软件可以长期赚钱
  • 河南百度建个网站关键词优化推广策略
  • 网站建设能给客户带来什么世界杯竞猜
  • 教学网站开发百度联盟广告
  • 做网站常用的css鸣蝉智能建站
  • 北京专业制作网站金戈枸橼酸西地那非片
  • 使用微信推广的各种方法seo研究协会
  • 钢管公司网站建设宁波seo在线优化方案公司
  • 有什么专业做心理的网站搜索引擎google
  • 网页设计个人网站设计seo职业培训班
  • 从网站自动下载日志信息怎么做app推广引流
  • 网站关键词多少好b站是哪个网站
  • 沧州网站建设培训学校建立网站一般要多少钱