C++ 试图从数组中读取无效数据 #包括 #包括 #包括 #包括 使用名称空间std; int main() { setlocale(LC_ALL,“”); 字符串str=“5 7 3”; int length=str.length(); char*arr=新字符[长度]; coutchar*arr=新字符[长度]; coutchar*arr=新字符[长度]; cout
C++ 试图从数组中读取无效数据 #包括 #包括 #包括 #包括 使用名称空间std; int main() { setlocale(LC_ALL,“”); 字符串str=“5 7 3”; int length=str.length(); char*arr=新字符[长度]; coutchar*arr=新字符[长度]; coutchar*arr=新字符[长度]; cout,c++,arrays,string,memory,C++,Arrays,String,Memory,arr[]不包含str,因为您没有为此做任何事情。此外,为了适应字符串的内容,您需要新字符[length+1]来说明终止零 毕竟,在大多数情况下,您不需要将字符串转换为数组,因为字符串已经包含i。有一个std::stoi函数可以处理字符串。arr[]不包含str,因为您没有为此做任何事情。此外,为了适应字符串内容,您需要新字符[length+1]以说明终止零 char* arr = new char[length]; cout << arr[2] << endl; 毕竟
arr[]
不包含str,因为您没有为此做任何事情。此外,为了适应字符串的内容,您需要新字符[length+1]
来说明终止零
毕竟,在大多数情况下,您不需要将字符串转换为数组,因为字符串已经包含i。有一个std::stoi
函数可以处理字符串。arr[]
不包含str,因为您没有为此做任何事情。此外,为了适应字符串
内容,您需要新字符[length+1]
以说明终止零
char* arr = new char[length];
cout << arr[2] << endl;
毕竟,在大多数情况下,您不需要将字符串转换为数组,字符串已经包含i。有一个std::stoi
函数可以处理字符串
char* arr = new char[length];
cout << arr[2] << endl;
这意味着,重新存储并调用ARR,它作为长度为char *的内存,这个内存可以与另一个运行时var或C++不可读取的东西相结合,因此当你尝试:
char* arr = new char[length];
这意味着,重新存储并调用ARR,它作为长度为char *的内存,这个内存可以与另一个运行时var或C++不可读取的东西相结合,因此当你尝试:
char* arr = new char[length];
arr是空的。在何处用任何类型的信息填充arr?arr
是长度为5的字符数组,但内容未知。H
当时只是内存中的随机垃圾。为什么不应该是H?使其不是H的部分在何处?arr是空的。在何处用任何类型的信息填充arr?arr
是长度为5的字符数组,但内容未知。H
当时只是内存中的随机垃圾。为什么不应该是H?使它不是H的部分在哪里?
char* arr = new char[length];
cout << arr[2] << endl;
char* arr = new char[length + 1];