• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

残したいレコードだけを抽出して新しいファイルを作成します。 作成後に元のファイルを削除(名称変更でも可)して新しいファイルを元のファイル名に変更します。 ANSI-C標準ライブラリで利用できるファイルは単純なバイト列であるためレコード削除というような高等な技は使えません。

72ric4001fg
質問者

お礼

ありがとうございました。 仕事で1本完成できました。 Cは今回が初めてだったので、たすかりました。

関連するQ&A

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

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

  • 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行のバイトレコード長を知るには あるファイルの中身は以下に示す: α : 62,11, β : 60, ...... 目で見ても、そのファイルの1行の”バイトレコード長”がわからない。C言語でレコード長を調べるための関数はありますか?

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

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

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

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

  • テキストファイルに改行コードを付加してレコードを分割したい。

    テキストファイルに改行コードを付加してレコードを分割したい。 MSDOSテキストファイルで、1レコードのサイズが128バイトのテキストファイルが あるのですが、レコード間に改行コードがありません。 レコード10件なら1280バイト 20件なら2560バイトのファイルです。 これを128バイトごとに改行コードを付加できるようなソフトはないでしょうか? ファイル分割ではなく、レコードの分割ができる物を探しています。 よろしくお願いします。

  • バッチによるテキストファイル操作について

    バッチファイルにて、テキストファイルの任意の行を削除したいのですが、コマンドはどのように記述すれば良いでしょうか? 初心者の為、方法が良くわかりません。  具体的には5000行のテキストファイルから1~20行目を削除したいと考えています。 ちなみにOSはXPと2000の両方です。 以上、どなたか宜しくお願いいたします。

  • ファイルメーカーのレコードが削除されている

    こんにちは。ファイルメーカーで顧客の管理をしています。レコードを1日 400件ほど追加しているのですが、朝行き電源を立ち上げるとレコードが 400件ほど削除されていることがあります。前日に入力したものが消えて いる様子はなく1週間ほど前にいれたものなどアバウトに共通性が見あたら ない状況で消えてしまっています。考えられる原因をお願します。 ※最後に電源を切る状態では確実にレコードは、入っておりました。  上書きするには限界のある数ですので上書きの可能性はありません。  レコードの削除は私が最後に電源を切っており、事務所には誰もいない  状況ですのでこの可能性もありません。  過去に何回かレコード数が減っていると思ったことがあったのですが、  削除されている人を特定できなかった為気のせいと思っておりましたが、  確実に削除されていたものがありました。 どんなことでも構いませんので少しでも可能性のある回答お願します。

  • テキストファイルについて

     ご教授お願い致します。  あるレコードを自動でテキストファイルへ書きこむ作業がありまして  テキストファイルの保存先名の指定はできるのですが  タイトルをテキスト行の一行目につけたいとの要望がありました。  そのレコードのみの書き込みのため一行目に何の題名かが  自動で表示できればいいとの要望でした。  よって、保存先名を指定の場所でファイル名を作成すると同時に  一行目に指定した題名をつけることが可能でしょうか?  ぜひ、ご回答お願い致します。  

  • テキストファイルを配列に

    始めまして C言語にてテキストファイルの中身を読み込み一次元配列に代入するというシステムを作ろうとしているのですがわかりません テキストファイルの中身は 12 5312 72 7 444 53 7884 といった具合で100数行あり一行ごとに配列に入れたいです 勉強を始めたばっかりで本を見ても書いていなく困っています わかるかたご指導願えますか? よろしくお願いいたします

専門家に質問してみよう