剑指Offer(第二版)17 - 打印从1到最大的n位数:
C++ 截取字符串和字符串转 int
C++截取字符串
c++截取字符串(https://blog.csdn.net/liuweiyuxiang/article/details/50838349)
使用 substr 函数实现
函数原型:
string substr(int pos = 0,int n ) const;
函数说明:
参数1:pos是必填参数
参数2:n是可参数,表示取多少个字符,不填表示截取到末尾
该函数功能为:返回从pos开始的n个字符组成的字符串,原字符串不被改变
示例:
#include <iostream>
#include <string>
using namespace std;
void main()
{
string s="ABCD";
cout << s.substr(2) <<endl ; //从字符串下标为2的地方开始截取,截取到末尾,输出CD
cout << s.substr(0,2) <<endl ; //从字符串下标为0的地方开始截取,截取长度为2,输出AB
cout << s.substr(1,2) <<endl ; //输出BC
}
C++ 字符串转 int
C/C++中string和int相互转换的常用方法(https://blog.csdn.net/albertsh/article/details/113765130)
使用 atoi 函数转换
#include <iostream>
#include <stdlib.h>
int main()
{
std::string str = "668";
std::cout << atoi(str.c_str());
return 0;
}
atoi 函数的头文件是 stdlib.h,同样是一个C语言中的函数,必须要先把 string 用 .c_str() 转换为 char*,再才能用 atoi() 把 char* 转为 int 类型。