2007/11/24

持ってる曲数

この前のXIIIさんのコメントを読んで気になったので,,,
持っているmp3を数えてみたら5300くらいでした.
#うち洋楽4659,邦楽645.
#そしてきっとほとんどメタル,,,
wmaとかoggとかmpcとかape,あるいはcdとして持ってるやつ合わせたらどうなるんだろう,,,(汗)
まぁ5500まではいかないかな?

ただ,数え方に若干の不安が.
lcountって名前のファイルを読み込んでその行数を数えるプログラムを書き,,,
#htmlだとスペースを出すのが面倒な関係上,階層がめっちゃ読みにくいけど勘弁,,,


lcount.cpp
//入力されたファイルの行数を数えるプログラム

#include <stdio.h>
#include <stdlib.h>

int countn(const char *); //ファイルを読み込む。エラーがなければ行数、あれば-1を返す

int main(int argc, char* argv[])
{
int n; //行数

if(argc==1){
printf("no file input.\n");
exit(-1);
}
else if(argc>2){
printf("more than 2 files input.\n");
exit(-1);
}
else{
printf("number of input file: OK\n\n");
}

if( (n = countn(argv[1])) == -1 ){
printf("reading file error\n");
exit(-1);
}

printf("\n%d\n\n",n);

printf("safely exit.\n\n");
return 0;
}

int countn(const char *filename)
{
FILE* file;
int n = 0; //行数
int c; //ファイルから読み出した文字

if( !(file = fopen(filename, "r")) ){
return -1;
}
else{
printf("opening input file: OK\n\n");
}

printf("###BIGIN###\n");
while( (c = fgetc(file)) != EOF ){
if(c=='\n') n++;
fputc(c, stdout);
}
printf("###END###\n");

return n;
}


音楽ファイルがあつめてあるルートフォルダで,


% ls */* | grep ".mp3" > mp3s
% lcount mp3s


なんてやっていたわけですが,,,
これはフォルダ階層がちゃんと
"アーティスト"/"アルバム"/"曲名"
となっているやつしか数えてくれません.
そして,俺の持っているアルバムの中にはやはり2枚組みとかもあるわけで,,,そういうやつは
"アーティスト"/"アルバム"/"何枚めのCD"/"曲名"
となっているので,おそらく数えられていません.
ってことは実際はもうちょっと多い.


,,,ま,いっか.

0 件のコメント: