STL-string-1

news2024/11/25 0:15:31

stoi

int stoi (const string&  str, size_t* idx = 0, int base = 10);int stoi (const wstring& str, size_t* idx = 0, int base = 10);

Convert string to integer

解析str,将其内容解释为指定基数的整数,该整数作为int值返回。 如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。 函数使用strtol(或wcstol)来执行转换(有关过程的更多详细信息,请参阅strtol)。

// stoi example
#include <iostream>   // std::cout
#include <string>     // std::string, std::stoi

int main ()
{
  std::string str_dec = "2001, A Space Odyssey";
  std::string str_hex = "40c3";
  std::string str_bin = "-10010110001";
  std::string str_auto = "0x7f";

  std::string::size_type sz;   // alias of size_t

  int i_dec = std::stoi (str_dec,&sz);
  int i_hex = std::stoi (str_hex,nullptr,16);
  int i_bin = std::stoi (str_bin,nullptr,2);
  int i_auto = std::stoi (str_auto,nullptr,0);

  std::cout << str_dec << ": " << i_dec << " and [" << str_dec.substr(sz) << "]\n";
  std::cout << str_hex << ": " << i_hex << '\n';
  std::cout << str_bin << ": " << i_bin << '\n';
  std::cout << str_auto << ": " << i_auto << '\n';

  return 0;
}Output:
2001, A Space Odyssey: 2001 and [, A Space Odyssey]
40c3:  16579
-10010110001: -1201
0x7f: 127

stol

long stol (const string&  str, size_t* idx = 0, int base = 10);long stol (const wstring& str, size_t* idx = 0, int base = 10);

Convert string to long int

解析str,将其内容解释为指定基数的整数,该整数作为long int类型的值返回。 如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。 函数使用strtol(或wcstol)来执行转换(有关过程的更多详细信息,请参阅strtol)。

// stol example
#include <iostream>   // std::cout
#include <string>     // std::string, std::stol

int main ()
{
  std::string str_dec = "1987520";
  std::string str_hex = "2f04e009";
  std::string str_bin = "-11101001100100111010";
  std::string str_auto = "0x7fffff";

  std::string::size_type sz;   // alias of size_t

  long li_dec = std::stol (str_dec,&sz);
  long li_hex = std::stol (str_hex,nullptr,16);
  long li_bin = std::stol (str_bin,nullptr,2);
  long li_auto = std::stol (str_auto,nullptr,0);

  std::cout << str_dec << ": " << li_dec << '\n';
  std::cout << str_hex << ": " << li_hex << '\n';
  std::cout << str_bin << ": " << li_bin << '\n';
  std::cout << str_auto << ": " << li_auto << '\n';

  return 0;
}Output:
1987520: 1987520
2f04e009: 788848649
-11101001100100111010: -956730
0x7fffff: 8388607

stoul

unsigned long stoul (const string&  str, size_t* idx = 0, int base = 10);unsigned long stoul (const wstring& str, size_t* idx = 0, int base = 10);

Convert string to unsigned integer

分析str,将其内容解释为指定基数的整数,该整数作为无符号长值返回。 如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。 该函数使用strtoul(或wcstoul)来执行转换(有关该过程的更多详细信息,请参阅strtol)。

// stoul example
#include <iostream>   // std::cin, std::cout
#include <string>     // std::string, std::stoul, std::getline

int main ()
{
  std::string str;
  std::cout << "Enter an unsigned number: ";
  std::getline (std::cin,str);
  unsigned long ul = std::stoul (str,nullptr,0);
  std::cout << "You entered: " << ul << '\n';
  return 0;
}

stoll

long long stoll (const string&  str, size_t* idx = 0, int base = 10);long long stoll (const wstring& str, size_t* idx = 0, int base = 10);

Convert string to long long

解析str,将其内容解释为指定基数的整数,该整数作为long-long类型的值返回。如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。该函数使用strtoll(或wcstoll)来执行转换(有关该过程的更多详细信息,请参阅strtol)。

// stoll example
#include <iostream>   // std::cout
#include <string>     // std::string, std::stoll

int main ()
{
  std::string str = "8246821 0xffff 020";

  std::string::size_type sz = 0;   // alias of size_t

  while (!str.empty()) {
    long long ll = std::stoll (str,&sz,0);
    std::cout << str.substr(0,sz) << " interpreted as " << ll << '\n';
    str = str.substr(sz);
  }

  return 0;
}Output:
8246821 interpreted as 8246821
 0xffff interpreted as 65535
 020 interpreted as 16

stoull

unsigned long long stoull (const string&  str, size_t* idx = 0, int base = 10);unsigned long long stoull (const wstring& str, size_t* idx = 0, int base = 10);

Convert string to unsigned long long

分析str,将其内容解释为指定基数的整数,该整数作为unsigned long-long类型的值返回。 如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。 该函数使用strtoull(或wcstoull)来执行转换(有关该过程的更多详细信息,请参阅strtol)。

// stoull example
#include <iostream>   // std::cout
#include <string>     // std::string, std::stoull

int main ()
{
  std::string str = "8246821 0xffff 020 -1";

  std::string::size_type sz = 0;   // alias of size_t

  while (!str.empty()) {
    unsigned long long ull = std::stoull (str,&sz,0);
    std::cout << str.substr(0,sz) << " interpreted as " << ull << '\n';
    str = str.substr(sz);
  }

  return 0;
}Possible output:
8246821 interpreted as 8246821
 0xffff interpreted as 65535
 020 interpreted as 16
 -1 interpreted as 18446744073709551615

stof

float stof (const string&  str, size_t* idx = 0);float stof (const wstring& str, size_t* idx = 0);

Convert string to float

分析str,将其内容解释为浮点数,该浮点数作为float类型的值返回。 如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。 该函数使用strtod(或wcstod)来执行转换(有关该过程的更多详细信息,请参阅strtod)。请注意,这些函数所接受的格式取决于当前的语言环境。

// stof example
#include <iostream>   // std::cout
#include <string>     // std::string, std::stof

int main ()
{
  std::string orbits ("686.97 365.24");
  std::string::size_type sz;     // alias of size_t

  float mars = std::stof (orbits,&sz);
  float earth = std::stof (orbits.substr(sz));
  std::cout << "One martian year takes " << (mars/earth) << " Earth years.\n";
  return 0;
}Possible output:
One martian year takes 1.88087 Earth years.

stod

double stod (const string&  str, size_t* idx = 0);double stod (const wstring& str, size_t* idx = 0);

Convert string to double

分析str,将其内容解释为浮点数,该浮点数作为double类型的值返回。 如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。 该函数使用strtod(或wcstod)来执行转换(有关该过程的更多详细信息,请参阅strtod)。请注意,这些函数所接受的格式取决于当前的语言环境。

// stod example
#include <iostream>   // std::cout
#include <string>     // std::string, std::stod

int main ()
{
  std::string orbits ("365.24 29.53");
  std::string::size_type sz;     // alias of size_t

  double earth = std::stod (orbits,&sz);
  double moon = std::stod (orbits.substr(sz));
  std::cout << "The moon completes " << (earth/moon) << " orbits per Earth year.\n";
  return 0;
}

Possible output:

The moon completes 12.3684 orbits per Earth year.

stold

long double stold (const string&  str, size_t* idx = 0);long double stold (const wstring& str, size_t* idx = 0);

Convert string to long double

分析str,将其内容解释为浮点数,该浮点数作为长双精度类型的值返回。 如果idx不是空指针,函数还会将idx的值设置为str中数字后面第一个字符的位置。 该函数使用strtell(或wcstold)来执行转换(有关该过程的更多详细信息,请参阅strtod)。

// stold example
#include <iostream>   // std::cout
#include <string>     // std::string, std::stod

int main ()
{
  std::string orbits ("90613.305 365.24");
  std::string::size_type sz;     // alias of size_t

  long double pluto = std::stod (orbits,&sz);
  long double earth = std::stod (orbits.substr(sz));
  std::cout << "Pluto takes " << (pluto/earth) << " years to complete an orbit.\n";
  return 0;
}Possible output:
Pluto takes 248.093 years to complete an orbit.

to_string

string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_string (float val);string to_string (double val);string to_string (long double val);

Convert numerical value to string

返回一个以val表示的字符串。

// to_string example
#include <iostream>   // std::cout
#include <string>     // std::string, std::to_string

int main ()
{
  std::string pi = "pi is " + std::to_string(3.1415926);
  std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number";
  std::cout << pi << '\n';
  std::cout << perfect << '\n';
  return 0;
}Possible output:
pi is 3.141593
28 is a perfect number

to_wstring

wstring to_wstring (int val);wstring to_wstring (long val);wstring to_wstring (long long val);wstring to_wstring (unsigned val);wstring to_wstring (unsigned long val);wstring to_wstring (unsigned long long val);wstring to_wstring (float val);wstring to_wstring (double val);wstring to_wstring (long double val);

Convert numerical value to wide string

返回一个表示为val的wstring。

// to_wstring example
#include <iostream>   // std::wcout
#include <string>     // std::wstring, std::to_wstring

int main ()
{
  std::wstring pi = L"pi is " + std::to_wstring(3.1415926);
  std::wstring perfect = std::to_wstring(1+2+4+7+14) + L" is a perfect number";
  std::wcout << pi << L'\n';
  std::wcout << perfect << L'\n';
  return 0;
}Possible output:
pi is 3.141593
28 is a perfect number

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/600713.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QLoRa:在消费级GPU上微调大型语言模型

大多数大型语言模型(LLM)都无法在消费者硬件上进行微调。例如&#xff0c;650亿个参数模型需要超过780 Gb的GPU内存。这相当于10个A100 80gb的gpu。就算我们使用云服务器&#xff0c;花费的开销也不是所有人都能够承担的。 而QLoRa (Dettmers et al.&#xff0c; 2023)&#x…

公司裁员不给赔偿怎么办?

阅读本文大概需要 1.61 分钟。 最近在星球回答球友问题的时候&#xff0c;发现不少人都提到裁员这个话题。 有球友说他们公司在裁员&#xff0c;但不想给赔偿。 领导给他的方案是把年假调休休了&#xff0c;然后再给三周找工作时间&#xff0c;这三周不用打卡&#xff0c;三周后…

茅塞顿开的C#代码——通用型科学计算器

计算器是经常遇到的编程作业。 一般都是实现加、减、乘、除四则运算的普通计算器。 这里介绍用几十行C#代码实现的复杂的《科学计算器》&#xff0c;可以计算各种函数。 不知道其他语言实现同样的功能需要编写多少行代码&#xff1f;20000行&#xff1f; using System; usin…

SpringBoot接口如何正确地接收时间参数

唠嗑部分 在做Java开发时&#xff0c;肯定会碰到传递时间参数的情况吧&#xff0c;比如用户的出生日期、活动的开始&#xff0c;结束日期等等&#xff0c;这些参数往往是由前端传递过来的&#xff0c;那么在SpringBoot项目中&#xff0c;该如何正确的接收日期参数呢&#xff0…

如果不小心上了电信黑名单,应该怎么妥善处理呢?

有些小伙伴们在处理不用的手机卡时&#xff0c;可能会粗心大意&#xff0c;认为不用了就用不了呗&#xff0c;存在欠费停机的情况下也没有及时的去补交欠费&#xff0c;然后销户&#xff0c;导致了自己不小心上了电信黑名单&#xff0c;那遇到这种情况&#xff0c;应该怎么妥善…

论文解读 | 利用图形卷积核在距离图像中实现高效的3D目标检测

原创 | 文 BFT机器人 01 摘要 该论文提出了一种基于范围图像的高效3D物体检测方法&#xff0c;通过利用图卷积核来提取每个像素周围的局部几何信息。 作者设计了一种新颖的2D卷积网络架构&#xff0c;并提出了四种替代内积核心的卷积核&#xff0c;以注入所需的三维信息。该方法…

GPT最常用的应用场景有哪些?

生成式预训练转换器&#xff08;GPT&#xff09;是一种深度学习模型&#xff0c;它能够根据给定的提示生成类似人类的文本&#xff0c;彻底改变了自然语言处理&#xff08;NLP&#xff09;领域。 聊天机器人和虚拟助手 GPT最受欢迎的应用程序之一是开发聊天机器人和虚拟助手。凭…

【Python 自然语言处理(NLP)】零基础也能轻松掌握的学习路线与参考资料

Python 自然语言处理&#xff08;NLP&#xff09;是目前人工智能&#xff08;AI&#xff09;发展中的重要领域。随着科技的不断进步&#xff0c;NLP已经被应用于文本自动摘要、机器翻译、语音识别、情感分析、问答系统等各项实际任务中。 要学习 Python 自然语言处理&#xff…

“河南省数字化转型与信息技术应用创新专家研讨会-政府数字化转型推动信创产业发展”专场活动成功召开

由《中国信息化》杂志社主办的“2023河南省数字化转型与信息技术应用创新专家研讨会——政府数字化转型推动信创产业发展”专场活动于5月27日&#xff0c;在郑州成功举办。本次活动由深圳竹云科技股份有限公司协办&#xff0c;由河南省测绘学会、中国信息主管平台支持。中国交通…

Windows 安装部署 MinIo

1、下载地址 安装包下载地址&#xff1a;https://min.io/download#/windows 2、安装目录 下载的是一个可执行文件 minio.exe 将其放到一个方便寻找的目录&#xff0c;我这里放在 D:\develop\minio 同时新建一个 data 文件夹&#xff0c;用来存储上传的文件 3、启动 MinIo 服…

Godot引擎 4.0 文档 - 第一个 3D 游戏

本文为Google Translate英译中结果&#xff0c;DrGraph在此基础上加了一些校正。英文原版页面&#xff1a; Your first 3D game — Godot Engine (stable) documentation in English 你的第一个 3D 游戏 在这个循序渐进的教程系列中&#xff0c;您将使用 Godot 创建您的第一…

Java程序设计入门教程 -- 二维数组

二维数组创建 定义数组 声明二维数组 Java中二维数组的声明格式&#xff1a; 数据类型名[ ][ ] 数组名; 或 数据类型名 数组名[ ][ ]; 分配数组内存 常用格式&#xff1a; new 数组名[ M][N ] ; //M&#xff0c;N为数组行号和列号 分配数组内存 1&#xff09;规…

chatgpt赋能python:Python的几次方符号介绍

Python的几次方符号介绍 当我们在使用Python编程时&#xff0c;经常需要进行数学计算。其中最常见的计算就是幂运算。Python使用幂运算符号来表示一个数的几次方。这个符号既可以用在数字之间&#xff0c;也可以用在变量之间。在本文中&#xff0c;我们将介绍Python中的几次方…

堆基础1_小白垃圾笔记

小白垃圾笔记&#xff0c;不建议阅读。 目录 1.什么是堆&#xff1f; 2.堆从哪里来&#xff1f; 3.堆管理器是什么 4.堆申请的实现方式 1.brk&#xff1a;brk仅仅主线程申请小空间的时候用&#xff0c;子线程不可调用brk。 2.mmap&#xff1a;主线程申请大的内存的时候和…

Mysql小知识 delete 清空表之后,磁盘空间未发生变化?

1. 删除空洞 1.1 案例展示 首先我们先来看这样一个例子。 我现在有一个名为 sakila 的数据库&#xff0c;该库中有一个 film 表&#xff0c;这个表中有 1000 条记录&#xff0c;我么先来看下这 1000 条记录占用了多少存储空间&#xff1a; 小伙伴们可以看到&#xff0c;这个…

Go-FastDFS 本地对象存储,Windows环境搭建(下载安装教程)!

文章目录 Go-FastDFS简介与地址下载安装服务与管理端台可视化测试 Go-FastDFS简介与地址 go-fastdfs 是一个基于 http 协议的分布式文件系统&#xff01; 它基于大道至简的设计理念&#xff0c;一切从简设计&#xff0c;使得它的运维及扩展变得更加简单&#xff0c;它具有高性…

Elasticsearch:使用带有 X-Opaque-Id 的慢速查询功能在 Elasticsearch 中调试慢速查询

如果你在软件堆栈中使用 Elasticsearch&#xff0c;你可能已经意识到 Elasticsearch 管理大量数据和提供实时搜索功能的强大能力。 了解 Elasticsearch 中的慢速查询 Slow Log 是 Elasticsearch 的内置功能&#xff0c;可用于识别慢速搜索。 任何花费时间超过预期的请求都会记…

Paper reading: Conditional Diffusion for Interactive Segmentation ICCV2021

交互式语义分割 We propose Conditional Diffusion Network (CDNet), which propagates labeled representations from clicks to conditioned destinations with two levels of affinities: Feature Diffusion Module (FDM) spreads features from clicks to potential targ…

单例模式-图文详解

概念 全世界就只要一个---在整个java程序中&#xff0c;只有这个类的一个实例 比如Student a new Student(); 就是Student类只创建这一个实例&#xff0c;只能有这一个对象存在 主要解决&#xff1a;一个全局使用的类频繁地创建与销毁。在内存里只有一个实例&#xff0c;减…

【白话机器学习系列】白话张量

白话张量 张量&#xff08;Tensor&#xff09;是向量和矩阵向 n n n 维的推广。向量是一维张量&#xff0c;矩阵是二维张量。张量作为数值容器&#xff0c;是机器学习&#xff0c;尤其是深度学习中最基础的操作对象&#xff0c;以至于 Google 的机器学习框架都已 TensorFlow …