線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:951
推到 Plurk!
推到 Facebook!

如何將 99.wav0EA11.wav1B3E我.wav 讀到.txt檔中

尚未結案
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-05 00:36:16 IP:218.172.xxx.xxx 未訂閱
其中0EA1和1B3E是我要去掉的 我要在txt檔中得到 99.wav 1.wav 我.wav .... 拜拜各位的幫忙
Windyboy
版主


發表:7
回覆:119
積分:210
註冊:2002-11-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-05 00:59:09 IP:219.84.xxx.xxx 未訂閱
Hi kimi:    try this...    
  AnsiString sTest = "99.wav0EA11.wav1B3E我.wav";      sTest = StringReplace(sTest, "0EA1", "\r\n", TReplaceFlags() << rfReplaceAll << rfIgnoreCase);
  sTest = StringReplace(sTest, "1B3E", "\r\n", TReplaceFlags() << rfReplaceAll << rfIgnoreCase);      TStringList *slTemp = new TStringList;      slTemp->Text = sTest;
  slTemp->SaveToFile("C:\\Test.txt");      delete slTemp;
-------------------------- ~天下本無事 庸人自擾之~
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-05 16:41:24 IP:140.117.xxx.xxx 未訂閱
我是希望在h11和data之間的"99.wav0EA11.wav1B3E我的.wav…"中的.wav檔讀出來 其中0EA1和1B3E是資料的大小都固定是是4個 讀出來像 99.wav 1.wav 我.wav .... 再麻煩各位的幫忙了
Windyboy
版主


發表:7
回覆:119
積分:210
註冊:2002-11-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-05 17:06:00 IP:220.130.xxx.xxx 未訂閱
我不太了解你的意思耶...    你要不要再說清楚點.. -------------------------- ~天下本無事 庸人自擾之~
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-05 18:37:39 IP:140.117.xxx.xxx 未訂閱
我要讀的是語音檔中的頭檔 我是希望在"00"和"data"之間包括的"檔名 大小 檔名 大小…"像"99.wav0EA11.wav1B3E我的.wav…"中將(*.wav)檔讀出來 其中0EA1和1B3E是資料的大小都固定是是4個 讀出來像 99.wav 1.wav 我.wav .... 不好意思 再麻煩各位的幫忙了
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-05 19:26:36 IP:221.169.xxx.xxx 未訂閱
ex: main() { char ln[] = "99.wav0EA11.wav1B3E我.wav"; char *head; char *end; FILE *fp; fp = fopen("aaa.txt", "w b"); head = ln; while ((end = strstr(ln, ".wav"))!= NULL) { end = end 4; // pass ".wav" *end = '\0'; fprintf("%s\n", head); head = end 4; } fclose(fp); return 0; } OK???
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-05 19:29:09 IP:221.169.xxx.xxx 未訂閱
sorry...... fprintf("%s\n", head); change to ----> fprintf(fp, "%s\n", head); @@ why i can't type chinese????
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-10-05 20:27:19 IP:140.117.xxx.xxx 未訂閱
暗黑破壞神你的方法我跑不出我要的程式 謝謝你
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-10-05 22:16:09 IP:221.169.xxx.xxx 未訂閱
咦。這不是你要的喔。 那不然你的問題是什麼? 是不是差在無法把資料丟到 ln[] ??
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-10-06 09:31:51 IP:140.117.xxx.xxx 未訂閱
"檔名(99.wav) 大小(0EA1) 檔名 大小 檔名 大小 一直加上(檔名 大小)"像"99.wav0EA11.wav1B3E我的.wav…"最後會碰到"data"這一個字元,就停止 然後輸出個個檔名到f1.txt上 如 99.wav 1.wav 我.wav ....
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-10-06 11:38:20 IP:221.169.xxx.xxx 未訂閱
main() { char ln[] = "99.wav0EA11.wav1B3E我.wavdata"; char *head; char *end; FILE *fp; fp = fopen("aaa.txt", "w b"); end = strstr(ln, "data"); *end = '\0'; head = ln; while ((end = strstr(ln, ".wav"))!= NULL) { end = end 4; // pass ".wav" *end = '\0'; fprintf(fp,"%s\n", head); head = end 4; } fclose(fp); return 0; } OK. 這就是你要的了。
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-10-06 12:32:26 IP:140.117.xxx.xxx 未訂閱
我是先開一個"mm.wav"的檔然後在將wav檔中的資料的1.wav等有關.wav的讀出來,但是我.wav的檔頭不一定是"99"可以這樣用嗎 發表人 - kimi 於 2004/10/06 12:36:08
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-10-06 21:27:56 IP:221.169.xxx.xxx 未訂閱
為什麼不行? 你自己寫一段讀檔的程式。把資料讀進 ln[] 就好了啊。 char ln[] = "99.wav0EA11.wav1B3E我.wavdata"; 這只是給你看的範例。 我在 parser 這個字串時。我也沒用到 99 這個字串啊。我依你的要求,只用到 .wav & data 這兩個啊。 自己再去看一次我寫的範例。
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-10-06 22:01:54 IP:140.117.xxx.xxx 未訂閱
while在跑的時後怪怪的,電腦會出錯
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-10-06 23:17:19 IP:221.169.xxx.xxx 未訂閱
oh. sorry 又錯了個小地方。 請修正 while ((end = strstr(ln, ".wav"))!= NULL) 改成 while ((end = strstr(head, ".wav"))!=NULL) 就可以了。
kimi
一般會員


發表:37
回覆:76
積分:22
註冊:2003-07-17

發送簡訊給我
#16 引用回覆 回覆 發表時間:2004-10-07 10:17:03 IP:140.117.xxx.xxx 未訂閱
程式跑到*end = '\0';就會出錯
系統時間:2024-06-26 13:20:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!