专栏文章
C++string to int in a variety of ways
算法·理论参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqc5sgi
- 此快照首次捕获于
- 2025/12/04 02:23 3 个月前
- 此快照最后确认于
- 2025/12/04 02:23 3 个月前
talk is cheap,show me the code.
一一码农
在此列举几种常见代码
1.把
CPPstring一位一位放入数字#include <string>
//注意不是string.h(后者是C语言char 数组形式的字符串头文件)
using namespace std;
int Stoi(string t)
{
int ans = 0;
int len = t.size();
for (int i = 0; i < len; i++)
{
int x = t[i] - '0';
ans = ans * 10 + x;
}
return ans;
}
2.用
CPPstringstream流读入string,再读出到int类型上#include <string>
//注意不是string.h(后者是C语言char 数组形式的字符串头文件)
#include <sstream>
using namespace std;
int StoI(string t)
{
stringstream sin;
sin << t;
int d;
sin >> d;
return d;
}
3.
CPPistringstream 流读入int类型#include <string>
//注意不是string.h(后者是C语言char 数组形式的字符串头文件)
#include <sstream>
int StrtoInt(string str)
{
istringstream ss(str);
int num;
ss >> num;
return num;
}
4.C语言的
CPPsscanf#include <string>
//注意不是string.h(后者是C语言char 数组形式的字符串头文件)
#include <stdio.h>
int StrtoInt(string str)
{
int num;
sscanf(str.c_str(), "%d", &num);
/*由于sscanf是C语言函数,需要调用string
自带的c_str()函数转成const char*(char 数组)*/
return num;
}
5.C语言的
CPPatoi#include <stdlib.h>
#include <string>
//注意不是string.h(后者是C语言char 数组形式的字符串头文件)
int StrtoInt(string str)
{
return atoi(str.c_str());
// 同sscanf
}
6.C++的
CPPto_string#include <string>
int StrtoInt(string str)
{
return to_string(str);
}
总结
不推荐
sscanf,atoi,它们是C语言函数更推荐
to_string,stringstream,istringstream这些C++原生函数废话
2025年了祝大家


相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...