string基本字符系列容器

别再傻傻分不清:PX4、Pixhawk、ArduPilot、APM到底啥关系?一张图给你讲明白 本文全面解析开源飞控领域核心概念,厘清PX4、Pixhawk、ArduPilot与APM的定位与关系。通过硬件平台演进史和飞行控制软件对比,帮助开发者理解开源飞控生态,并提供新项目开发建议与特殊需求考量,助力无人机开发中的明智选择。 阅读详情
#include<string>
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<sstream>
using namespace std;

///c++方法,将数值转换为string
string convertTOString(double x){
    ostringstream o;
    if(o << x)
        return o.str();
    return "concersion error";///if error
}
///c++方法,将string转换为数值
double convertFromString(const string &s){
    istringstream i(s);
    double x;
    if(i >> x)
        return x;
    return 0.0;///if error
}

int main(){
    ///创建字符对象s
    string s;
    cout << s.length() <<endl;

    ///对s赋值
    s = "Hello world";
    cout << s << endl;

    ///在string对象尾部添加字符
    s = s + 'a';
    s = s + 'b';
    s = s + 'c';
    cout << s << endl;

    ///在string对象尾部添加字符串
    ///1.采用"+"操作符
    s += "abc";
    ///2.采用append()方法
    s.append("123");
    cout << s << endl;

    ///给string对象插入字符
    s.clear();
    s = "111111";
    ///定义迭代器
    string::iterator it;
    it = s.begin();
    s.insert(it+1,'p');
    cout << s << endl;

    ///访问string对象的元素
    ///通过下标访问
    s.clear();
    s = "123456";
    cout << s[3] << endl;

    ///删除string对象的元素
    ///定义迭代器变量指向首元素
    it = s.begin();
    s.erase(it+3);
    cout << s << endl;
    s.erase(it,it+4);
    cout << s << endl;

    ///返回string对象的长度
    printf("长度:\n");
    cout << s.size() << endl;
    printf("是否为空:\n");
    cout << s.empty() << endl;

    ///替换string对象的字符
    s = "123456789";
    cout << s << endl;
    s.replace(3,3,"good");
    cout << s << endl;

    ///搜索string对象的元素或字串
    s = "cat dog cat";
    ///查找第一个子符'c',返回下标值
    cout << s.find('c') << endl;
    ///查找第一个子串"c",返回下标值
    cout << s.find("c") << endl;
    ///查找第一个子串"cat",返回下标值
    cout << s.find("cat") << endl;
    ///查找第一个子串"dog",返回下标值
    cout << s.find("dog") << endl;
    ///查找第一个子串"dogc",不存在返回4294967295
    cout << s.find("dogc") << endl;

    ///string对象的比较
    ///s比cat大,返回1;
    cout << s.compare("cat") << endl;
    ///s和"cat dog cat"相等返回0
    cout << s.compare("cat dog cat") << endl;
    ///s比"dog"小返回-1;
    cout << s.compare("dog") << endl;

    ///用reverse反向排序string对象
    s = "123456789";
    reverse(s.begin(),s.end());
    cout << s << endl;

    ///string对象作为vector元素
    vector<string> v;
    v.push_back("JACK");
    v.push_back("MIKE");
    v.push_back("TOM");
    cout << v[0] << endl;
    cout << v[1] << endl;
    cout << v[2] << endl;
    cout << v[0][0] << endl;
    cout << v[1][0] << endl;
    cout << v[2].length() << endl;

    ///string对象与字符数组相互操作
    s.clear();
    char ss[100] = "abc123";
    ///字符数组赋值字符串对象
    s = ss;
    ///用printf输出字符串对象用c_str()方法
    printf(s.c_str());
    printf("\n");

    ///string对象与sscanf函数
    string s1,s2,s3;
    char sa[100],sb[100],sc[100];
    ///将字符串分离成字串,分隔符为空格
    sscanf("abc 123 pc","%s %s %s",sa,sb,sc);
    s1 = sa;
    s2 = sb;
    s3 = sc;
    cout << s1 << " " << s2 << " " << s3 << endl;
    ///将字符串分离成数字,分隔符为空格
    ///当用到数字时,和scanf一样,它要传指针地址
    int a,b,c;
    sscanf("1 2 3","%d %d %d",&a,&b,&c);
    cout << a << " " << b << " " << c << endl;
    ///将字符串分离成数字,分隔符为“,”和“$”;
    int x,y,z;
    sscanf("4,5$6","%d,%d$%d",&x,&y,&z);
    cout << x << " " << y << " " << z << endl;

    ///string对象与数值相互转换
    ///将数值转换为string的c方法
    char g[10];
    string h;
    sprintf(g,"%d",1975);
    h = g;
    cout << h << endl;
    ///将数值转换为string的第二种方法:c++版
    string cc = convertTOString(1976);
    cout << cc << endl;
    ///string转换为数值的方法:c++版
    string dd = "2006";
    int p = convertFromString(dd)+2;
    cout << p <<endl;

    return 0;
}
使用ArcGIS Pro进行土地利用分类的机器学习与深度学习 传统的土地利用分类方法通常依赖于手动解译和规则定义,但随着机器学习和深度学习的发展,我们现在可以利用这些技术来自动化和提高分类的精度。ArcGIS Pro是一种功能强大的GIS软件,它提供了丰富的工具和功能,可以支持土地利用分类的机器学习和深度学习。我们将首先讨论数据准备和预处理的步骤,然后介绍常用的机器学习和深度学习方法,并提供相应的源代码示例。这可以通过人工标注或半自动的方式完成。数据裁剪:根据研究区域的范围,裁剪遥感影像数据,以减少计算和存储的负担,并确保只包含感兴趣的土地利用区域。 阅读详情

相关推荐

基于YOLOv8的玉米病害监测系统

本研究的主要目标是设计并实现一个基于深度学习的玉米病害识别系统,通过采用YOLOv8算法进行玉米叶片病害的自动化识别。研究首先对玉米病害的种类和特点进行了分析,选择了具有代表性的病害类型,如玉米锈病、灰叶斑病、枯叶病和健康叶片,以构建一个多类别的分类问题。数据集的构建和处理是研究的关键部分,通过数据增强、图像标注等手段确保了数据的多样性和丰富性,从而提高了模型的泛化能力。

yupan__的博客 496

38.C++ typedef与using、string的简单使用(c++11的新特性)

今天进行了新的学习,c++11新特性中关于using和string的使用。在c语言中我们已经进行了typedef的学习,你是否还记得呢?首先就让我们先来回顾一下。

weixin_63779802的博客 995

银行数据仓库体系实践(3)--数据架构

狭义的数据仓库数据架构用来特指数据分布,广义的数据仓库数据架构还包括数据模型、数据标准和数据治理。即包含相对静态部分如元数据、业务对象数据模型、主数据、共享数据,也包含相对动态部分如数据流转、ETL、整合、访问应用和数据全生命周期管控治理。 数据架构层面通过数据分类、分层部署等手段,从非功能性视角将数据合理布局。通过整体架构管控和设计,支持业务操作类和管理分析类应用(系统),满足业...

acumen_leo的博客 7010

结构体定义 typedef struct 用法详解和用法小结

typedef可以声明新的类型名来代替已有的类型名,但却不能增加新的类型。   typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。   在编程中使用typedef目的一般有两个,一个是给变量提供一个易记且意义明确的新名字(类型有新别名,方便变量的定义),另一个是简化一些比较复杂的类型声明。 ...

不甘平凡的码农 1094

保姆级教程:用Python脚本一键把选股结果导入通达信自选股(附完整代码)

本文提供了一份详细的Python自动化教程,教你如何将选股结果一键导入通达信自选股。通过解析通达信文件结构、编写Python脚本实现股票代码转换和批量导入,大幅提升量化交易效率。教程包含完整代码示例,特别适合使用通达信(TDX)的投资者和量化交易开发者。

weixin_30915951的博客 358

STM32CubeMX平台F4系列固件下载核心要点

详解STM32CubeMX平台下F4系列单片机的固件包下载方法与常见问题,重点讲解stm32cubemx固件包下载流程及配置技巧,帮助开发者快速完成开发环境搭建。

weixin_42575505的博客 892

[C++] 类型别名 typedef关键字

对类型别名的介绍

A_ns_wer_的博客 411

SAP_SD模块销售开票计划预收款系统配置及前台操作说明

在 SAP SD 中,开票计划(Billing Plan)是一种允许根据时间节点或里程碑对销售订单进行分期开票的功能。其中最常见的一种应用就是预收款(Down Payment Billing),即在销售订单中直接定义某个百分比或金额作为预收款,系统在开票时自动生成预收账单。大额合同或长期项目型销售(先收 20%,交货前收 30%,交货后收 50%)。分期付款模式(分阶段收款)。必须预收款才能安排生产或交货的业务。后台路径:SPRO—销售与分享—销售—销售凭证—销售凭证项目—定义项目类别。

我小时候很黑的博客 1409

程序员之路:C语言typedef和struct

学习C语言的时候,发现typedef和struct这个有点迷糊,继续学习,发现也不是特别难,正好抽时间总结一下。 1、首先看个例子: //typedef与struct #include #include //使用strcpy(); //结构定义,Student是一个Tag标签,区分其他结构 struct Student { char name[50

彭世瑜的博客 3382

【WorkBuddy专栏27】WorkBuddy 和 CodeBuddy 到底什么关系——一篇文章终结所有混淆

WorkBuddy 和 CodeBuddy 到底什么关系——一篇文章终结所有混淆

AI人人懂 2643

华为OD机试真题 新系统 9月16号 【园区基站节能部署规划】

华为OD机试真题 新系统【园区基站节能部署规划】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【园区基站节能部署规划】多语言题解。

qq_45776114的博客 352

【C++】string类的使用

如何使用string类

weixin_74078718的博客 1980

提升YOLOv8检测精度的边界框损失函数Focaler-IoU与InnerFocalerIoU的应用与效果

YOLOv8是一种常用的实时目标检测模型,基于CNN(卷积神经网络)结构并结合了一些改进技术以提高检测精度和速度。YOLOv8的核心在于边界框的预测和分类,而准确的边界框预测是提高模型整体性能的关键因素之一。在传统的IoU损失基础上,Focaler-IoU和InnerFocalerIoU进一步聚焦于边界框的边缘区域,通过调整损失权重,更好地关注难以检测的边界框,提高模型的鲁棒性和准确性。# 计算IoU# 计算Focaler-IoU损失在这里,我们定义了。

博客 1340

String基本字符系列容器

1、 /*创建s 空字符串*/ #include #include #include #include #include #include #include #include using namespace std; int main() { string s; cout<<s.length()<<endl; return 0; }   2、基本字符系列容器给string对象赋值

丙三醇 1071

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

string 基本字符系列容器入门

今天继续学习 C++ 中的容器。C++ STL 提供了 string 基本字符系列容器来处理字符串,可以把 string 理解为字符串类,它提供了添加、删除、替换、查找和比较等丰富的方法。 使用 string 容器,需要头文件包含声明: #include<string> 创建 string 对象 #include<string> #include<iostream&...

JoshuaTsui的博客 309

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C++之string基本字符系列容器

string基本字符系列容器 C语言只提供了一个插入类型用来处理字符,而对于字符串,只能通过字符串数组来处理,显得十分不便. C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为字符串类,它提供了添加,删除,替换,查找和比较等丰富的方法. 虽然使用vector<char>这样的向量也可以处理字符串,但功能比不上str...

Beworth1207的博客 178

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

string基本字符系列容器(一)

C++STL提供了string基本字符系列容器来处理字符串,可以把string理解成字符串类,它提供了添加,删除,

学如逆水行舟,不进则退 1922

string基本字符系列容器的常用代码【c++】

string容器在c++中占有重要地位,在处理字符序列的时候可以大大简化代码,提高效率,下面讲解string的几个常用(我经常忘记)的经典用法。 一、获得string的长度: string s; int len = s.length(); 这里要注意的是,string中不含char[]的终止字符 '\0',在进行char[]和string相互转化的时候要格外注意。 二、string的一些...

qq_26552795的博客 195

《ACM算法详解》— string基本字符系列容器

C语言只提供了一个char类型用来处理字符,而对于字符串,只能通过字符串数组来处理,显得十分方便。C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为字符串类,它提供了增加、删除、替换、查找和比较等丰富的方法。 1.创建string对象 下面这条语句创建了字符串对象s,s是一个空字符串,其长度为0 #include <strin...

69小石头的博客 674

STL string基本字符系列容器

string容器 【string的定义】 stringrong

disparity_CJK的博客 442
上一篇: vector向量容器
下一篇: set集合容器
10086love10010
博客等级 码龄10年 0粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值