Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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 - Fatal编程技术网

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];