void fileNameProcess(char * inputName){
int size =strlen(inputName);
bool change=false;
char * name=inputName;
for(int i =0; i<size; i++){
char temp=* (name+i);
if(temp<0x10||temp>0x5b){
change=true;
}else if(0x19<temp<0x21){
change=true;
}else if(0x3a<temp<0x41){
change=true;
}
if(change){
//*(name+i)='_';
memset(name+i, '_', 1);
change=false;
}
}
}
он ломается, когда я пытаюсь установить символ в строке (memeset), но я не понимаю, почему он не позволяет мне это сделать? почему я могу разрешить доступ для чтения, но не могу изменить его?
может кто-нибудь объяснить это в аспекте памяти. Я думаю, это потому, что строка передается в функцию. но пока я знаю местоположение мемориала, я могу установить его правильно?
спасибо
char * filename= strdup("try1.mat");
writter.locate(filename);
в его месте назначьте имя файла для класса memeber char * filepath