尝试将string类型的字符串转换成C风格的字符串(可以赋值给字符数组),并访问,判断越界情况
#include <iostream>
#include <cstring>
using namespace std;
void fun(char *str,int i)
{
if(i>5)
{
throw int();
}
else if(str==NULL) {
throw double();
}
cout<<str[i]<<endl;
}
int main()
{
string str;
cin>>str;
char str1[str.size()+1];
strcpy(str1,str.c_str());
int len=strlen(str1);
int i;
cin>>i;
try {
fun(str1,i);
} catch (int) {
cout<<"越界访问"<<endl;
}
catch (double)
{
cout<<"入参为空,请检查 "<<endl;
}
return 0;
}