无法使用函数 C++ 返回 char 数组

unable to return array of char using a function c++

本文关键字:返回 char 数组 C++ 函数      更新时间:2023-10-16

它现在可以正常工作,但问题是指针在字符之前和之后返回奇怪的符号,例如 <,/@ 等。 我该如何解决这个问题

 #include<iostream.h>
#include<string.h>
using namespace std;
char* checkArray(char ch[],int start,int length,int size){
char*  sub = new char[length + 1];
if(length > size ||start > length ){
return "null";
}
else if(start + length > size){
return "null";
}
else {
for (int i=start;i < length;i++){
sub[i] = ch[i]  ;
}
return (sub);
}
}
int main(){
char data[]={'a', 'b', 'c'};
int start=1;
int length=2;
int arraysize=sizeof(data)/sizeof(data[0]);
char* res=checkArray(data,start,length,arraysize);
cout<<res;
return 0;
}

使用动态数组初始化sub

char*  sub = new char[length];