[問題] 讀寫檔 以及分割問題
爬文很多資料 但沒辦法實作出來自己想要的
一直debug失敗= =
雖然讀寫檔實作很多例子了
不過這次 有幾個問題一直很困擾
分別列出來請益高手
1.固定長度切割字串
據我所知在C語言裡只有strtok才能辦到分割的
這種方法是利用字串中指定符號來切的,感覺沒辦法固定長度
格式如下
strtok(變數1,變數2)
變數1=欲要切割的字串 char*
變數2=切割指定符號(例如空格,tab等等)
例如
char *a;
string k="12345 qwer"
a=strtok((*char)k.c_str()," ")
結果a=12345
但我要的是讀一行字串再把字串分每個字元放再個別放陣列
例如string a="12345. qwe" 切完後
b[0]="1"....b[5]="."...b[6]=" "類推
要什麼切法= =?
本來利用string特性可以任意合併改變陣列大小(讀每行都合併起來)
但接著把它1個1個字元分開好像有點難...
2.如果問題1沒辦法的話
還有一個想法就是直接一次讀一個
我發現小筆資料可以讀,但遇到大資料直接爆掉(都可編譯過)= =
不知道是指標記憶體問題還是讀檔問題...
例如
ifstream fin;
fin.open("input.txt");
char *tmp;int count=0;
while(fin>>tmp[count]){ count++;}
3.如果利用一次讀一行切割再讀下一行(還是要分成每個字串切成一個字元)
也就是類似問題1
(與問題1不同的地方在於問題1是直接合併所有資料再分割1個字元的)
例如
string a,b;
while(getline(fin,a,"\n")){ b+=a;}
可以改善問題2讀取大資料(但就卡在分割了)
還是沒辦法實作...
抱歉問題有點多QQ
因為要實作LCS= =我懂原理,但卡讀寫檔部分...
就類似把兩份txt文章比較之類
最後有請高手了,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.204.43
→
11/14 22:05, , 1F
11/14 22:05, 1F
推
11/14 22:05, , 2F
11/14 22:05, 2F
→
11/14 22:05, , 3F
11/14 22:05, 3F
→
11/14 22:06, , 4F
11/14 22:06, 4F
→
11/14 22:07, , 5F
11/14 22:07, 5F
→
11/14 22:09, , 6F
11/14 22:09, 6F
→
11/14 22:13, , 7F
11/14 22:13, 7F
→
11/14 22:19, , 8F
11/14 22:19, 8F
→
11/14 22:51, , 9F
11/14 22:51, 9F
→
11/14 23:20, , 10F
11/14 23:20, 10F
→
11/14 23:20, , 11F
11/14 23:20, 11F
→
11/14 23:21, , 12F
11/14 23:21, 12F
→
11/14 23:21, , 13F
11/14 23:21, 13F
→
11/14 23:21, , 14F
11/14 23:21, 14F
→
11/14 23:28, , 15F
11/14 23:28, 15F
→
11/14 23:28, , 16F
11/14 23:28, 16F
→
11/14 23:36, , 17F
11/14 23:36, 17F
→
11/14 23:36, , 18F
11/14 23:36, 18F
→
11/14 23:37, , 19F
11/14 23:37, 19F
→
11/14 23:37, , 20F
11/14 23:37, 20F
→
11/14 23:38, , 21F
11/14 23:38, 21F
→
11/14 23:39, , 22F
11/14 23:39, 22F
→
11/14 23:39, , 23F
11/14 23:39, 23F
→
11/14 23:41, , 24F
11/14 23:41, 24F
→
11/14 23:42, , 25F
11/14 23:42, 25F
→
11/14 23:55, , 26F
11/14 23:55, 26F
→
11/14 23:55, , 27F
11/14 23:55, 27F
→
11/15 00:07, , 28F
11/15 00:07, 28F
→
11/15 00:07, , 29F
11/15 00:07, 29F
→
11/15 00:09, , 30F
11/15 00:09, 30F
→
11/15 00:10, , 31F
11/15 00:10, 31F
→
11/15 00:10, , 32F
11/15 00:10, 32F
→
11/15 00:11, , 33F
11/15 00:11, 33F
→
11/15 00:11, , 34F
11/15 00:11, 34F
→
11/15 00:19, , 35F
11/15 00:19, 35F
→
11/15 00:29, , 36F
11/15 00:29, 36F