(MSVC-2019) 有没有办法在 debug(autos) 屏幕中查看使用 malloc 生成的数组元素?
(MSVC-2019) Is there a way to see the array's elements made with malloc in the debug(autos) screen?
我最近学习了如何使用 fscanf_s,在修改 fscanf_s 的同时,我编写了一个代码来读取文件并将其保存到数组中。 (文件包含123 12 41 234 5 12 45 1 5 764 232
)
首先我编写了一段代码来测试我的 While 循环是否正确
void arr_calc(FILE*f, ~~) {
int i = 0, ~~;
...
rewind(f);
int arr[10];
while (fscanf_s(f, "%d", &arr[i++]) != EOF);
}
当我检查调试屏幕(autos)时,arr
显示如下
我可以看到 arr
持有什么,但是当我将 int arr[10]
更改为 malloc
以制作这样的可变大小数组时
void arr_calc(FILE*f, ~~) {
int i = 0, * arr, ~~;
...
rewind(f);
arr = (int*)malloc((count) * sizeof(int));
while (fscanf_s(f, "%d", &arr[i++]) != EOF);
}
我不知道 arr
拿着什么。 - 它只显示第一个值
我认为这与我在使用 malloc
.
时使用 arr
的指针有关
我的问题是:有没有办法在使用 malloc(或 realloc)时在调试自动中看到 arr
中的元素?
如果说错了请指正,谢谢
这是正常的,autos window 无法指定 malloc
类型,它应该与您的 arr
.
的明显定义大小一起使用
相反,正如社区成员所说,使用 Watch Window,设置 arr,10
以获得您想要的。然后它将用输入大小解析数组。
我最近学习了如何使用 fscanf_s,在修改 fscanf_s 的同时,我编写了一个代码来读取文件并将其保存到数组中。 (文件包含123 12 41 234 5 12 45 1 5 764 232
)
首先我编写了一段代码来测试我的 While 循环是否正确
void arr_calc(FILE*f, ~~) {
int i = 0, ~~;
...
rewind(f);
int arr[10];
while (fscanf_s(f, "%d", &arr[i++]) != EOF);
}
当我检查调试屏幕(autos)时,arr
显示如下
我可以看到 arr
持有什么,但是当我将 int arr[10]
更改为 malloc
以制作这样的可变大小数组时
void arr_calc(FILE*f, ~~) {
int i = 0, * arr, ~~;
...
rewind(f);
arr = (int*)malloc((count) * sizeof(int));
while (fscanf_s(f, "%d", &arr[i++]) != EOF);
}
我不知道 arr
拿着什么。 - 它只显示第一个值
我认为这与我在使用 malloc
.
arr
的指针有关
我的问题是:有没有办法在使用 malloc(或 realloc)时在调试自动中看到 arr
中的元素?
如果说错了请指正,谢谢
这是正常的,autos window 无法指定 malloc
类型,它应该与您的 arr
.
相反,正如社区成员所说,使用 Watch Window,设置 arr,10
以获得您想要的。然后它将用输入大小解析数组。