要读入某个资料夹底下的所有档案,然后作一些处理后存成同档名的txt档,
再取用这些txt档到MATLAB作图。
但是读取档名的时候都会包含副档名例如 myfile.dex
存成新档名就会变成 myfile.dex.txt。
=====================以下是大略的程式码===========================
vector<string> files = vector<string>();
getfiles(dir, files);
for(unsigned int i=0; i<files.size(); i++){
string filename=files[i].c_str();
string filenameWithPath= dir+filename;
FILE *f_infile = fopen(filenameWithPath,"rb");
sprintf(filenameWithPath,"%s_proc.txt",filename.c_str());
FILE* f_stats = fopen(filenameWithPath,"wt");
doSomeProcess(f_infile,f_stats);
fclose(f_stats);
fclose(f_infile)
}
======================================================
可是这种myfile.dex.txt有好几个"."的档名在MATLAB处理上会发生一些问题,
所以想在一开始读进来的档名字串filename中把"."拿掉。
存成myfiledex.txt就好。
我查过可以使用erase,但是会当机。程式码如下:
filename.erase(filename.end()-4); //倒数第四个字串后全部删除
sprintf(filenameWithPath,"%s_proc.txt",filename.c_str());
FILE* f_stats = fopen(filenameWithPath,"wt");
就是只有加入有注解的那行而已。 预计可以删除".dex"的部分。
Compile会过,Run会当机。
查了很久erase的使用,看不出是什么问题,求帮助!!><"