【发布时间】:2014-01-08 19:26:43
【问题描述】:
------------------------------------------------
Artikli vo magacin za obleka
------------------------------------------------
Vo magacinot ima vkupno 5 artikli
------------------------------------------------
Sifra : 3
Opis : opis2
Edinecna cena : 212
Vlezna kolicina : 2
Izlezna kolicina : 0
Danocna stapka : 0
Iznos : 424
Datum na vlez : 20324
------------------------------------------------
Sifra : 3
Opis : 54
Edinecna cena : 123
Vlezna kolicina : 12
Izlezna kolicina : 0
Danocna stapka : 0
Iznos : 1476
Datum na vlez : 120915
------------------------------------------------
Sifra : 3
Opis : opsi2
Edinecna cena : 12
Vlezna kolicina : 324
Izlezna kolicina : 0
Danocna stapka : 0
Iznos : 3888
Datum na vlez : 570509
------------------------------------------------
Sifra : 2
Opis : vopi
Edinecna cena : 2
Vlezna kolicina : 2
Izlezna kolicina : 0
Danocna stapka : 0
Iznos : 4
Datum na vlez : 951230
------------------------------------------------
Sifra : 1
Opis : opis1
Edinecna cena : 2
Vlezna kolicina : 2
Izlezna kolicina : 0
Danocna stapka : 0
Iznos : 4
Datum na vlez : 101
------------------------------------------------
上面是一个名为“directory.dat”的文件,我想知道如何取出包含特定文本的特定行的整数?例如,如果我想对所有带有“Edinecna cena”的行求和,我该如何专门从这些行中获取所有整数?
【问题讨论】:
-
您需要拉入所有行,解析行并搜索第一个非字符。以这种方式查找整数,看起来所有“:”也在所有整数之前,因此您可以将其用作分隔符。
-
awk '/Edinecna cena/ {sum+=$NF;print $NF} END {print sum}'? -
@twalberg 这是什么意思?
-
@Matt2234 你能告诉我我应该用什么来解析吗?还有,整数前面的小空格会不会造成问题?
-
意思是“打印匹配“Edinecna cena”的每一行的最后一个字段,并在末尾打印所有这些字段的总和......
标签: c++ fstream ifstream directory ofstream