gpt4 book ai didi

CreateDirectory 使程序崩溃

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:55 27 4
gpt4 key购买 nike

所以我正在尝试创建一个目录,但我无法弄清楚为什么当我这样做时它会死掉。我已经尝试对路径进行硬编码测试,所以我认为这不是权限问题。当我切开要创建的路径时,我确保以 NULL 终止字符串。我什至尝试使用 GetLastError() 获取错误,但它会使程序崩溃,所以我做不到。我做错了什么?

编辑:如果我取消注释 main 中的行,让它创建文件夹并删除它,然后再尝试在函数中再次创建它,函数就会成功。什么...这实际上是一个权限问题吗?

int main(void) {
int start;

char* test = "C:\\Users\\Daniel\\Desktop\\temp\\second";
// CreateDirectory(test, NULL); //this works

fileCopy("C:\\Users\\Daniel\\Desktop\\temp\\second\\datanew.txt");

return EXIT_SUCCESS;
}


int fileCopy(char* path){

char line[500];

FILE *new;
FILE *old;

char *old_path = "C:\\Users\\Daniel\\Desktop\\temp\\data.txt";

//"C:\\Users\\Daniel\\Desktop\\temp.txt"
old = fopen(old_path, "r");
new = fopen(path, "w");

if(old != NULL){
if(new == NULL){

char * last;
last = strrchr(path, 92); //the \ character

int size = strlen(path)-strlen(last);

char *dir;
dir = memcpy(dir, path, size + 1);
dir[size] = '\0';
CreateDirectory(dir, NULL);
new = fopen(path, "w");
}

}

return 0;

}

最佳答案

您没有为“dir”分配任何内存。

char *dir;
dir = malloc(sizeof(char) * (size + 1));
dir = memcpy(dir, path, size + 1);

关于CreateDirectory 使程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21668601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com