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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试在字符串(memeset)中设置一个字符时,它会中断,但我不明白为什么它不允许我这样做?为什么我可以允许访问读取但无法修改它?任何人都可以在记忆方面解释它.我想这是因为字符串被传递到函数中.但只要我知道记忆的位置,我可以把它设置好吗?
谢谢
char * filename= strdup("try1.mat");
writter.locate(filename);
Run Code Online (Sandbox Code Playgroud)
在找到它时,将文件名指定给类memeber char*filepath
这个:
if(1 < variable < 2)
Run Code Online (Sandbox Code Playgroud)
可能不会做你想要的.使用:
if(1 < variable && variable < 2)
Run Code Online (Sandbox Code Playgroud)
编辑 if(1 <variable <2)评估如下:
if( (1 < variable) < 2)
if( (true) < 2)
//given true is often* assigned a value of 1 this will always be true and
if( (false) < 2)
//false is always zero this will also be true
Run Code Online (Sandbox Code Playgroud)
*我不认为这是标准所要求的,所以不要依赖它.