你能帮忙吗?我的代码要进行分词处理,所以我写了下面的代码:
- I allocate some memory,
- I
strcpy(malloced_memory, argv)
- I execute
strtok(mallocted_memory, ".")
Try
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
错误。但是程序仍然可以正常运行。
我想要解决这个问题。我该怎么做?