【发布时间】:2016-01-13 08:42:57
【问题描述】:
你能帮帮我吗?我的代码进行了标记化,所以我创建了这样的代码:
- 我分配了一些内存,
- 我
strcpy(malloced_memory, argv) - 我执行
strtok(mallocted_memory, ".") -
试试
free(mallocted_memory)。filename = malloc(strlen(argv)); strcpy(filename, argv); strk_ptr = malloc(sizeof(filename)); strk_ptr = strtok(filename,".");// i++; sprintf(in->file_name,"%s",strk_ptr); while(strk_ptr = strtok(NULL,"."))// { i++; sprintf(in->file_name,"%s.%s",in->file_name,strk_ptr); sprintf(in->file_ext ,"%s",strk_ptr); } free(strk_ptr); free(filename);
那个代码有我不能free(filename)的问题。如果我尝试free(filename),则程序得到SIGTRAP。但程序正在运行。
我想解决这个问题。我该怎么办?
【问题讨论】: