• 締切済み

テキストファイルの重複行を削除できますか?

テキストファイルを読み込んだ際に重複行を削除する 事とかって出来ますでしょうか?? そういう削除関数みたいなのがないんですよね。。。。 C言語って.......

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

まず「C はあらゆるユーザのすべてのニーズを満足するようにできているわけではない」ということを理解していただけるとありがたい. そも不可能だし. でも, やることは簡単でしょ? while (1行読み込む) { if (これまでのどの行とも異なる) { この行を記憶&出力 } } こんだけだもの. ついでにいうと uniq は「隣り合った同じ行」を削除するだけです>#3. だから, こういうときには sort|uniq とする必要があります.

回答No.3

uniq コマンドをsystemコールするっていう手もありますね。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.2

http://okwave.jp/qa4491261.html http://okwave.jp/qa4489311.html 関連ですか? >テキストファイルを読み込んだ際に重複行を削除する事とかって出来ますでしょうか?? そういう処理を作成すれば可能です。 >そういう削除関数みたいなのがないんですよね。。。。 >C言語って....... 「C言語にはない」ではなく「C言語の基本ライブラリや開発環境で提供されている関数にはない」です。 C言語は自分自身で関数を作成することができる言語です。 従って、あなたがそういった関数を作成すれば「ある」ということになります。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

一行ずつ読んでは重複チェック・破棄するしかないですねぇ。

関連するQ&A

  • C言語で書き込んだファイルの重複行の削除と行の並び変えるプログラミング

    C言語で書き込んだファイルの重複行の削除と行の並び変えるプログラミング ファイル名が 0.txt というC言語で書き込んだテキストファイルがあり その中身は以下のようなものとします。 111 000 222 555 000 444 222 000 これらを行ごとに見て重複行を削除し 更に値の小さな順に並び変えたい、つまりファイル内を 000 111 222 444 555 となるようなプログラミングを考えているのですが 調べても分からず悩んでいます。 c言語のプログラム内に UNIXコマンドを扱う方法を考えているのですが c言語内でUNIXコマンドを併用するためのsystem()関数 や 重複行を削除する uniq というUNIXコマンドを どのようにプログラム内に挿入すればいいのでしょうか? ご回答、よろしくお願いいたします。 ちなみに以下のプログラムは system関数が理解できない私の作成失敗したものです。 #include <stdio.h> #include <stdlib.h> int main(void) { system("uniq 0.txt"); }

  • テキストファイルの重複削除をする!

    質問お願いします! テキストファイル内の、重複削除をしたいのですが、膨大の量なので、 その量に対応するソフトなどありますか? 条件 (1)一度に500万行程度の処理能力(多ければ多い程) (2)処理に掛かる時間が短い(ここが一番) (3)違うテキストファイルの物とも、重複作業が出来る(ファイル間での重複処理機能) この様な物を探しています! いろいろソフトを探したのですが、私が探した物は、数万行程度でいっぱいです・・・ 宜しくお願いします。

  • 複数テキストファイルの内容を、一括で重複行の削除がしたい

    複数のテキストファイルの内容で重複する行を、一括削除をするのに便利なツールはありますでしょうか? 色々と探しても一括でしてくれるソフトが見当たりません。 どなたか教えていただければ幸いです。 例)以下のようなテキストファイル内容が複数あって・・ あああ いい かかか ううううう いい ええええ  ↓↓  実行すると・・ あああ いい かかか ううううう ええええ 重複した一方のみ残すというイメージです。

  • テキストファイルの最終行の削除

    C++Builder6です。 テキストファイルの最終行だけを削除する方法を 探しています。 詳しく言えば、ファイルを開けないで、最後にある 改行コード?のみを削除したいです。 よろしくお願いします。

  • 重複行を削除

    重複する行をVBAコードで削除したいのですが A列 B列 C列 あ  1  a あ  1  a あ  2  a い  1  a い  2  c い  2  c A列 B列 C列 あ  1  a あ  2  a い  1  a い  2  c のようにABC列同一文字は1行にしたいのですがVBAコード、関数の解る方ご教授願います。

  • Excel2010で行ごとの重複削除

    Excel2010です。 A行目 1 3 5 5 2 2 3 B行目 2 3 5 5 4 4 C行目 1 9 7 9 9 ↓ A行目 1 3 5 2 B行目 2 3 4 5 C行目 1 7 9 というように、行ごとに重複の削除をしたいと思っています。 データタブに重複の削除があるのですが、列ごとにやるようなので、一度シート全体を 行と列を入れ替えて別シートにコピーして、 1列目全体を選択して、1列目で重複の削除を実行 2列目全体を選択して、2列目で重複の削除を実行 ・・・ というやり方もあるのですが、今扱っているエクセルは197行197列あります。 列選択、重複の削除アイコンをクリックするのを197回繰り返すのは大変です。 自動化する方法はないものでしょうか?

  • テキストファイル内のレコード削除方法

    テキストファイル内に書き込まれているレコード(行)の 1件目(1行目)~n件目(n行目)までを削除したいの ですが、どうプログラミング記述すればよいのですか? よろしくお願いします。 (ANSI/C言語にて)

  • csvファイルの1カラム目に重複行があればその行全体を削除するには?

    次のようなファイルがあった場合、 1, 2, 3 1, 3, 5 2, 4, 7 3, 1, 0 3, 1, 2 3, 7, 1 4, 0, 0 5, 0, 0 1カラム目が重複する行を検索して、該当する行全体を削除し、(最初に見つかった行はそのままで、それ以降の重複行は削除したい)次のようなファイルにする場合は、どのようなコマンド、スクリプト作成すればよいでしょうか? 1, 2, 3 2, 4, 7 3, 1, 0 4, 0, 0 5, 0, 0

  • テキストの重複する行をすべて削除する方法

    テキストの重複した行をすべて削除する方法を探しています 例 あああ あああ いいい ううう ↓削除後 いいい ううう ソフトを使用する場合はフリーの物でお願いします。 使用しているPCはwin7の32bitです。 既に持っているフリーウェアはBigEditとoeditです。

  • C言語のテキストファイルの読込み

    必要に迫られてC言語でテキストファイルの読込みを行う プログラムを作成しなければならなくなりました。 whileとfscanfを用いて書式を指定して一行ずつ読込むことができる ということは知っていますが、その際、たとえば読み込むファイルが 20行のテキストファイルだったとして、10行目から読込みを 行いたい場合はどのようにプログラムを書けばいいのでしょうか? なにぶんC言語初心者ですのでよろしくお願いします。

専門家に質問してみよう