※ 引述《RaiGend0519 (鮮度減半,老了0.5歲囧)》之銘言:
: 現在我有一個.dat
: 裡面有一行字組是\&HarryPotter&\\&JK&\2000 1 123456789
: 第一個是書名
: 然後是作者
: 再來是年份、版序、國際書碼
: 如果我現在想要用搜尋國際書碼的方式
: 來刪掉這一行字組
: 我該怎麼做呢?
: 遇到的瓶頸是
: \& &\這個在讀取時不知道要怎麼繞過去
: 如果是空格的話就會乖乖讀近來
: 加了這兩個符號不知道該怎麼辦...
印象中國際書碼的長度似乎是固定的,所以利用 substr() 來做...
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main (void) {
ifstream fin ("input.txt");
string str;
while (getline(fin, str)) {
if (str.substr(str.length()-9).compare("123456789") != 0)
cout << str << endl;
}
return 0;
}
------------------------------
input.txt:
\&HarryPotter&\\&JK&\2000 1 123456789
\&The Da VinCi Code&\\&Dan Brown&\2010 5 987654321
輸出:
\&The Da VinCi Code&\\&Dan Brown&\2010 5 987654321
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.227.83.223
※ 編輯: Dannvix 來自: 125.227.83.223 (06/05 17:57)