1.string转其他数据类型
- 调用头文件 <cstdlib>
- 使用函数 atoi(a.c_str()), atoll(a.c_str()), atof(a.c_str()), atod(a.c_str()); (其中a为字符串)
- 也可以使用<string>文件头 前面函数中的a统一换做s (但我的dev编译出错,不知道为什么)
2.其他数据类型转string
使用头文件<sstream> 借用 stringstream
int x = 10;
stringstream ss;
ss << x;
string s1 = ss.str();
例题妙用:https://codeforces.com/problemset/problem/897/B
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
#include<cctype>
#include<cstdlib>
#include<sstream>
using namespace std;
#define IOS ios::sync_with_stdio(false)
#define LL long long
const int inf=0x3f3f3f3f;
int main(){
int k,p;
cin>>k>>p;
long long x;
long long ans=0;
string a;
for(int i=1;i<=k;i++){
stringstream ss;
ss<<i;
a=ss.str();
string b(a.rbegin(),a.rend()); //这里为声明b为a的逆序
a=a+b;
x=atoll(a.c_str());
x%=p;
ans+=x;
ans%=p;
}
cout<<ans;
}