我使用memset()
从text.txt
字符串中删除path
,但以下代码无效。
请告诉我这是什么问题。
char *path = "tt/tt/tt/text.txt";
char *direc = "";
int minus = 0;
int i;
for (i = strlen(path) - 1; i > 0; i--)
{
if (path[i] == '/')
break;
else
minus++;
}
memset(path + i, '\0', strlen(path) - minus);
printf("%s", path);
return 0;
答案 0 :(得分:2)
这里的问题是,path
指向字符串文字,它通常出现在只读内存中。你不能改变它的内容。
相反,请尝试使用类似
的数组char path[ ] = "tt/tt/tt/text.txt";