c++数字和字符串的转换

简介: c++数字和字符串的转换

1 利用stringstream


数字转字符串


  • 头文件 #include


#include <string>
#include <sstream>
int main(){
  double a = 123.456;
  string res;
  stringstream ss;           // 定义流ss
  ss << a;                   // 将数字a转化成流ss
  ss >> res;                 // 将流ss转化成字符串
  return 0;
}


字符串转数字


#include <string>
#include <sstream>
int main(){
  double a ;
  string res= "123.456";
  stringstream ss;  
  ss << res;                  
  ss >> a;
  return 0;
}
//此处包装了一个方法,将一位的数字转化成两位的字符串
// 比如说 : 0->"00"    3->''03"
string transform(int num)
{
   string res;
   stringstream ss;
   ss<<num;
   ss>>res;
   if(num<10)
   {
    res="0"+res;
   }
   return res;
}


2.利用 sprintf()函数和sscanf()函数


sprintf() 用于将数字转化为字符串


#include <iostream>
#include <string>
using namespace std;
int main()
{
    char str[10];
    int a=1234321;
    //将整数转化为字符串
    sprintf(str,"%d",a);
    int len=strlen(str);
    cout<<"字符串"<<str<<endl;
    cout<<"长度"<<len<<endl;
    char str1[10];
    double b=123.321;
    / /将浮点数转化为字符串
    sprintf(str1,"%.3lf",b);
    int len1=strlen(str1);
    cout<<"字符串"<<str1<<endl;
    cout<<"长度"<<len1<<endl;
    return 0;
}


sscanf() 用于将字符串转化为数字


#include <iostream>
#include <string>
using namespace std;
int main()
{
    char str[]="1234321";
    int a;
    sscanf(str,"%d",&a);
    cout<<a<<endl;
    char str1[]="123.321";
    double b;
    sscanf(str1,"%lf",&b);
    cout<<b<<endl;
    return 0;
}


扩展:sprintf()和sscanf()详细用法


内容过多,请参考我整理的另一篇博客


https://yangyongli.blog.csdn.net/article/details/120820628

相关文章
|
11天前
|
编译器 C++
【C++进阶】深入STL之string:模拟实现走进C++字符串的世界
【C++进阶】深入STL之string:模拟实现走进C++字符串的世界
14 1
|
20天前
|
存储 算法 Cloud Native
C++ bcrypt算法 字符串加密,亲测有效
C++ bcrypt算法 字符串加密,亲测有效
|
26天前
|
C++ 索引
C++中字符串常用操作
C++中字符串常用操作
11 2
|
26天前
|
对象存储 C++ 索引
C++ 字符串操作的技术性探讨
C++ 字符串操作的技术性探讨
8 1
|
30天前
|
存储 安全 C语言
c++字符串
c++字符串
29 1
|
13天前
|
C++ 容器
【C++语言】String 类关键函数实现,手搓一个简单字符串类!
【C++语言】String 类关键函数实现,手搓一个简单字符串类!
|
24天前
|
C++ 安全
高效遍历:C++中分隔字符串单词的3种方法详解与实例
拷贝并交换(Copy-and-Swap)是C++中实现赋值操作符和异常安全拷贝构造函数的技巧。它涉及创建临时对象,使用拷贝构造函数,然后交换数据以确保安全。C++11之前的策略在此后及C++11引入的移动语义和右值引用下仍有效,但后者提供了更高效的实现方式。
|
1月前
|
Java C++ Python
C++ 使用getline()从文件中读取一行字符串
`getline()` 是 C++ 中 `istream` 类的一个方法,被 `fstream` 和 `ifstream` 继承,用于从文件中读取一行字符串。它有两种语法:一种是从文件读取 `bufSize-1` 个字符到 `buf` 直到 `\n`,另一种是读到指定分隔符 `delim`。如果文件中的字符数量超过 `bufSize`,会导致读取失败。示例代码展示了如何使用 `getline()` 读取和打印文件内容。通过循环调用 `getline()`,可以连续读取文件的多行数据。
29 0
|
1月前
|
存储 编译器 程序员
C++中的宏定义和字符串字面值的区别
C++中的宏定义和字符串字面值的区别
|
1月前
|
C++
【C++基础】C++中的字符串
【C++基础】C++中的字符串
10 0