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

相关文章
|
1月前
|
消息中间件 Linux C++
c++ linux通过实现独立进程之间的通信和传递字符串 demo
的进程间通信机制,适用于父子进程之间的数据传输。希望本文能帮助您更好地理解和应用Linux管道,提升开发效率。 在实际开发中,除了管道,还可以根据具体需求选择消息队列、共享内存、套接字等其他进程间通信方
68 16
|
5月前
|
缓存 网络协议 API
C/C++ StringToAddress(字符串转 boost::asio::ip::address)
通过上述步骤和示例代码,你可以轻松地在C++项目中实现从字符串到 `boost::asio::ip::address`的转换,从而充分利用Boost.Asio库进行网络编程。
180 0
|
5月前
|
编译器 C语言 C++
C/C++数字与字符串互相转换
C/C++数字与字符串互相转换
|
6月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
6月前
|
搜索推荐 编译器 C语言
【C++核心】特殊的元素集合-数组与字符串详解
这篇文章详细讲解了C++中数组和字符串的基本概念、操作和应用,包括一维数组、二维数组的定义和使用,以及C风格字符串和C++字符串类的对比。
125 4
|
6月前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
8月前
|
算法 C++
2730. 找到最长的半重复子字符串(c++,滑动窗口)
2730. 找到最长的半重复子字符串(c++,滑动窗口)
|
8月前
|
C++
567. 字符串的排列(c++)滑动窗口
567. 字符串的排列(c++)滑动窗口
|
8月前
|
编译器 C++
【C++】string类的使用④(字符串操作String operations )
这篇博客探讨了C++ STL中`std::string`的几个关键操作,如`c_str()`和`data()`,它们分别返回指向字符串的const char*指针,前者保证以&#39;\0&#39;结尾,后者不保证。`get_allocator()`返回内存分配器,通常不直接使用。`copy()`函数用于将字符串部分复制到字符数组,不添加&#39;\0&#39;。`find()`和`rfind()`用于向前和向后搜索子串或字符。`npos`是string类中的一个常量,表示找不到匹配项时的返回值。博客通过实例展示了这些函数的用法。
|
9月前
|
C++ 容器
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
119 1