CまたはC++において,txtかcsvファイルを1行ごとに読み込み重複する項目を削除するプログラムを作成したい
簡単なプログラミングだと思うのですが,どうしてもうまくいかないので質問させていただきます.
C言語またはC++において,txtかcsvファイルの内容を1行ごとに読み込んで,重複している行が複数あった場合,他を削除し1行のみにするプログラムを作成したいです.
txt,csvファイルは具体的には,以下のようになっています.
About IN about
Ada NP Ada
Additional JJ additional
Adventures NNS adventure
Adventures NNS adventure
Adventures NP <unknown>
上記の例においては,Adventures NNS adventure
という行を1行削除したいです.
すでにソートはされており,アルファベット順に並んでいるので,重複する行がある場合は必ず隣り合っています.
行数は30000行近くあります.
while(fgets(buf,20,fp)!=NULL){
strcpy(word[i], buf);
printf("%s\n",word[i]);
i++;
}
などのように,何種類かファイル読み込みを試してはみましたが,2行にまたがって読み込んだり変なところで改行されたりで,うまくいきませんでした.
読み込みができたら,「次の行と比較して違った場合のみ出力する」などとすれば実現できるかなと考えています.
アドバイスをよろしくお願いいたします.