У меня есть две одинаковые строки, мне нужно удалить часть одной из них и сохранить ее в другой.
Мой код не работает:
int main(int argc, char *argv[])
{
char *imagetmp = argv[1];
char *imagefile = imagetmp;
char *unpackdir = imagetmp;
// Remove substring from char imagefile
char * pch;
pch = strstr (imagefile,".img");
strncpy (pch,"",6);
// Print strings
puts (imagefile);
puts (unpackdir);
return 0;
}
Вот ожидаемый результат:
./imgtools mysuperimage.img
mysuperimage.img
mysuperimage
Вот фактический результат:
./imgtools mysuperimage.img
mysuperimage
mysuperimage
Как я могу это исправить?