小编oct*_*dle的帖子

如何更改路径的文件名而不更改其目录或扩展名?

实现该change_file_name功能的最佳方式是什么?

let path = Path::new("/path/to/file.rs");
let new_path = change_file_name(&path, "new_file_name") // -> "/path/to/new_file_name.rs"
Run Code Online (Sandbox Code Playgroud)

path rust

2
推荐指数
1
解决办法
2557
查看次数

realloc 因指针数组而失败

我想创建一个指向任意类型的指针数组并调整其大小。但由于某种原因,这在第五次迭代中崩溃了:

#include <stdlib.h>
#include <stdio.h>

int main() {
    int **data = NULL;
    size_t size = 0;

    for (size_t i = 0; i < 10; ++i) {
        printf("begin iteration #%lu...\n", i + 1);
        int *a = malloc(sizeof *a);
        data = realloc(data, ++size);
        data[size - 1] = a;
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:

begin iteration #1...
begin iteration #2...
begin iteration #3...
begin iteration #4...
begin iteration #5...
realloc(): invalid next size
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

我知道已经有数百个问题了realloc(): invalid next size,我浏览了其中的许多问题,但我仍然无法弄清楚。我很确定我在这里遗漏了一些相当基本的东西。

c memory

1
推荐指数
1
解决办法
67
查看次数

标签 统计

c ×1

memory ×1

path ×1

rust ×1