vector<string> splitString(const string &str, const char* delim)
{
vector<string> strList;
int sz = str.size();
char *input = new char[sz+1];
strcpy(input, str.c_str());
char* token = strtok(input, delim);
while(token != nullptr)
{
strList.push_back(token);
token = strtok(nullptr, delim);
}
delete [] input;
return strList;
}
//c语言版本
std::string str;
int i = atoi(str.c_str());
//C++(11) 版本
std::string str;
int i = std::stoi(str);
//同样, 可以使用 stol(long), stof(float), stod(double) 等
// to_string example
#include <iostream>
#include <string>
int main ()
{
std::string pi = "pi is " + std::to_string(3.1415926);
std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number";
std::cout << pi << '\n';
std::cout << perfect << '\n';
return 0;
}
//单个字符
char c = '9';
int a = c - '0';
//字符指针
char* c1 = "123";
char c2[] = "456";
cout<<atoi(c1)<<" "<<atoi(c2)<<endl;
//单个数字
char c = 9 + '0';
//数字字符串
/*
itoa函数
功能:把一整数转换为字符串
函数原型:char *itoa(int value, char *string, int radix);
头文件:#include<stdlib.h>
参数:
value:待转化的整数
radix:是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
string:保存转换后得到的字符串
*/
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int main(){
int number = 1234;
char string[25];
itoa(number,string,10);
cout<<number<<endl;
cout<<string<<endl;
return 0;
}
string s(char *);
char *p = string.c_str();