C++里的int 和string类型相互转换
2024-08-29 14:11:07
C++不像Java和C#一样在进行数据类型转换时直接调用一些类方法就可以了,使用起来很简单。
一个很简单的例子就是string str=“D:\\”+1+“.txt”;这在Java或者C#里面是可以自动拆箱和包
箱就可以了,但是在C++里面是不可以的。当然这只有一个文件还好,但是当我们要使用for循环去遍
厉一个文件夹下的1,2,3...命名的文件时或许就有点麻烦了。由于我自己碰到过这种情况,所以这里写
写几种方法。或许不是最好的方法,但是权当练练笔了,如果你发现错误或者有更好的方法欢迎指教。
方法一:这个方法比较笨就是自己写个函数如string getString(int value){},实现很简单就不写了。
通过一个个判断然后进行字符连接,最后把字符返回即可。类似的int getInt(string str){},可以把string
换为int。
方法二:就是使用一些C++的文件流或者C的函数:
如下
/*
C++ String 和int的相互转换
*/
#include<iostream>
#include<sstream>
using namespace std;
int main(){
/*
使用C标准库里面的atoi
*/
//string to int
string str="123";
int value=std::atoi(str.c_str());
cout<<"string to int value:"<<value<<endl;
/*
C++标准库里面,使用stringstream:
(stringstream 可以用于各种数据类型之间的转换)
*/
std::stringstream sstr;
//string to int
sstr<<"520";
int value2;
sstr>>value2;
cout<<"string to int value2: "<<value2<<endl;
//int to string
int value3=125;
std::stringstream sstr2;
sstr2<<value3;
string str2;
sstr2>>str2;
cout<<"int to string str2:"<<str2<<endl;
string filepath="D:\\"+str2+".txt";
cout<<filepath<<endl;
/*
to_string();
*/
int value4=33;
string str3=to_string(value4);
cout<<"int to string str3:"<<str3<<endl;
}
下面是结果截图:
最新文章
- xpath实例 --//span[contains(.,&#39;资讯管理&#39;)]
- 赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具
- SQL Server case表达式的用法
- Perform Cut Copy Paste Operations Using Cut_Region Copy_Region Paste_Region Commands In Oracle Forms
- ajax的简单操作
- CocoaPods 更新慢&;swift版本适配
- 详解go语言的array和slice 【二】
- git生成sshkey
- git 文件状态与工作区域
- ==、Equals 、ReferenceEquals它们的异同
- 分布式版本控制系统Git的安装与使用 第二次作业
- java中连接各种数据的方法
- JAVA中如何将一个json形式的字符串转为json对象
- 最齐全的Android studio 快捷键(亲测可用)
- eclipse启动项目报错:java.lang.ClassNotFoundException: ContextLoaderListener
- Netty源码分析第4章(pipeline)---->;第7节: 前章节内容回顾
- [洛谷P3829][SHOI2012]信用卡凸包
- [转帖]cocos2D-X源码分析之从cocos2D-X学习OpenGL(3)----BATCH_COMMAND
- 【常见CPU架构对比】维基百科
- 使用junit单元测试SpringMvc