2 荒らしコメ非表示ツール
動画配信者さんのコメント欄が荒らされていて、ちゃんとコメントしてくれてる人のコメントが見えない・・。
と困っていらっしゃったので、荒らしコメントを非表示にするプログラムを書いてみました。
といっても何か特別な事をしているわけでもなく、ファイルからとってきた1行に設定したNGワードがはいっていたら
その行は表示しない・・としているだけのことです。
input.txtが入力文章。荒らしが入っているコメントの集まったテキストです。
実行ファイルを実行すると「変なコメ取り除いたよ.txt」が出来上がり、
そのテキストファイルには設定したNGワードがひっかかった文章以外の健全なテキストが出力されています。
具体的には、input.txtの中身の一部に
ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!ルイズルイズルイズぅううぁわぁああああ!!!
ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!ルイズルイズルイズぅううぁわぁああああ!!!
ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!
あぁああああ…ああ…あっあっー!あぁああああああ!!!ルイズルイズルイズぅううぁわぁああああ!!!
などがひたすら書かれている部分があります。こういう荒らし文章をarashiに設定して、排除しています。
このarashiには任意の荒らしコメを設定して下さい。
少しでもヒットすれば排除されるので、上のような場合は、文章全部をセットしなくても「ああああ」だけでもよさそうです。
#include <stdio.h> #include <string.h> #define MAX 19 #define BUF_MAX 256 char arashi[MAX][BUF_MAX]={ {"ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!"}, {"あぁああああ…ああ…あっあっー!あぁああああああ!!!ルイズルイズルイズぅううぁわぁああああ!!!"}, {"あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん"}, {"んはぁっ!ルイズ・フランソワーズたんの桃色ブロンドの髪をクンカクンカしたいお!クンカクンカ!あぁあ!!"}, {"間違えた!モフモフしたいお!モフモフ!モフモフ!髪髪モフモフ!カリカリモフモフ…きゅんきゅんきゅい!!"}, {"小説12巻のルイズたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!"}, {"アニメ2期放送されて良かったねルイズたん!あぁあああああ!かわいい!ルイズたん!かわいい!あっああぁああ!"}, {"コミック2巻も発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!"}, {"ぐあああああああああああ!!!コミックなんて現実じゃない!!!!あ…小説もアニメもよく考えたら…"}, {"ル イ ズ ち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!"}, {"そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!ハルケギニアぁああああ!!"}, {"この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?表紙絵のルイズちゃんが僕を見てる?"}, {"表紙絵のルイズちゃんが僕を見てるぞ!ルイズちゃんが僕を見てるぞ!挿絵のルイズちゃんが僕を見てるぞ!!"}, {"アニメのルイズちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!"}, {"いやっほぉおおおおおおお!!!僕にはルイズちゃんがいる!!やったよケティ!!ひとりでできるもん!!!"}, {"あ、コミックのルイズちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!"}, {"あっあんああっああんあアン様ぁあ!!シ、シエスター!!アンリエッタぁああああああ!!!タバサァぁあああ!!"}, {"ううっうぅうう!!俺の想いよルイズへ届け!!ハルゲニアのルイズへ届け!"}, {"いがぷああぱがかがああぁばんいヴいいあ"}, }; int main(){ int i; FILE *fp,*fpout; char str[256]; fp=fopen("input.txt","r+"); fpout=fopen("変なコメ取り除いたよ.txt","w+"); if(fp==NULL||fpout==NULL){ printf("パスがおかしいっすよ\n"); return 0; } while(fgets(str, BUF_MAX, fp)!=NULL){ for(i=0;i<MAX;i++){ if(strstr(str,arashi[i])!=NULL) break; } if(i==MAX){ printf("%s", str); fprintf(fpout,"%s", str); } } fclose(fp); fclose(fpout); return 0; }
- Remical Soft -