[問題] 刪除字串特定符號
要讀入某個資料夾底下的所有檔案,然後作一些處理後存成同檔名的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的使用,看不出是什麼問題,求幫助!!><"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.61.240.28
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1402041103.A.171.html
※ 編輯: hyhjcjy (61.61.240.28), 06/06/2014 15:54:16
→
06/06 17:11, , 1F
06/06 17:11, 1F
→
06/06 17:11, , 2F
06/06 17:11, 2F
→
06/06 17:11, , 3F
06/06 17:11, 3F
→
06/06 17:12, , 4F
06/06 17:12, 4F
推
06/06 17:14, , 5F
06/06 17:14, 5F
推
06/06 19:04, , 6F
06/06 19:04, 6F
→
06/06 19:04, , 7F
06/06 19:04, 7F
→
06/06 19:05, , 8F
06/06 19:05, 8F
→
06/06 19:05, , 9F
06/06 19:05, 9F
推
06/08 08:56, , 10F
06/08 08:56, 10F
→
06/08 08:57, , 11F
06/08 08:57, 11F
→
06/08 08:57, , 12F
06/08 08:57, 12F
→
06/08 08:58, , 13F
06/08 08:58, 13F
謝謝樓上幾位大大!!再來試試看!!
※ 編輯: hyhjcjy (61.61.240.28), 06/09/2014 12:04:43
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章