要讀入某個資料夾底下的所有檔案,然後作一些處理後存成同檔名的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的使用,看不出是什麼問題,求幫助!!><"