• ベストアンサー

外部ファイルから一部分を書き出したい

matyrcryの回答

  • matyrcry
  • ベストアンサー率47% (101/213)
回答No.2

*がスペース以外のどんなものにでもなるのなら、 固定文字列と重なるかもしれないので他のものを 基準にしたほうがいいです。 区切り文字が半角スペースで、他部には使われてい ないとすれば、4つ目のスペースの直後から次のス ペースまでと見て1行毎の文字列の頭から検索すれ ばいいと思います。 僕はVCでログファイルを作るときには、 fopen(),fseek(),fgets(),fputs(),fclose() をよく使ってます。

関連するQ&A

  • 外部ファイルから一部分を消去したい

    外部ファイル 123基準あいうえお 基準1かき くけこ 基準2さしす[改行] 45678基準たち つてと 基準1な にぬねの 基準2はひふ へほ[改行] ・・・(以下同様、行によって半角ペースの数が違います。) 上のような日本語を含む外部データがあります。 これをfgetsで1行読み込み、以下のようなことをしたいのですが、C言語ではどのようにすればよいでしょうか? 基準の文字を消し、かつ、基準1,2を含むのそ間の文字 も消し、別のファイルに書き出したい。 基準、基準1,2は各行に1つだけ存在し、全角文字を含みます。

  • テキストファイルの操作で教えてください!

    テキストファイル操作について教えて下さい。 膨大な数のテキストファイルがあります。 中身は改行などを含む ---------- ・ ・ ・ 1. 文字列 文字列 文字列 2. 文字列 文字列 文字列 。 。 。 ---------- の様な形です。 1つのファイルに1.~100.まであります。 この1.から100.までを全ファイル抜出すか前後の行を削除し、1つのファイルにしたいです。 どうすればできるか教えてください。 お願いします。

  • 固定長ファイルの画面表示

    現在、ACCESSで固定長ファイルの作成を行っています。 作成した固定長ファイルは、1行2000バイト程度のファイルで複数行あります。 途中に改行コード入った場合、改行コードもそのまま1行の固定長文字列として出力しています。(1行2000バイト中に含む) 現在テキストエディタにて、出力した固定長ファイルを表示して確認しています しかし、改行コードが固定長文字列の途中に入ると、そこで改行されてしまい表示が非常に見にくいです。 どなたか、改行コードを無視してテキストファイルを開けるソフト知りませんか? よろしくお願いします。

  • indexと正規表現はどちらが早い?

    1行につき40文字前後で(固定長ではない)、1ファイルにつき約1億行書かれたファイル(1ファイルにつき3-5GB程度のテキストファイル)が30ファイルあります。ファイルは、すべてアルファベットで構成されていていますが、スペースは含まれておらず、各行の末端は改行(\n)で区切られています。これらのファイルからある特定の文字に完全にマッチする部分が含まれる行が各ファイルごとに何行あるのかを調べたいと思っています。検索する文字列の長さは10-20文字のものをいろいろと調べたいと思っています。 この作業をperlで行う場合、index関数を使って検索をするのと、正規表現を使って検索をするのでは、どちらが早いのでしょうか?もしくは、他に良い方法やmoduleがあるようでしたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • エクセルを文字数固定でテキスト形式に・・・

    エクセル97です。宜しくお願いします。 エクセルにあるデータをtxtに変換させて、別のプログラムに移したいのですが、問題なのが、受ける側で行毎に頭からの文字数で認識して読み込んでいくのですが、そのままテキスト形式で保存すると、各セルには文字数の多い少ないがある為、各行毎にそのカウントしている文字数の場所が違ってきて、読み込みも各行毎に違ってきます。これをそろえる為に各行毎に文字数を固定させて変換できないかと思っているのですが、 そこで・・・ 列毎に、文字列のある列の文字数を決めておいて、その文字数に満たない場合は、その満たない数だけスペースを入れて変換したいのですが・・・すみません、説明がいまいちですが・・・ 例えば・・・ *A列は文字数を6文字と決める。 *そのA列には、文字列が各行のセルに「あいう」「あいうえお」「あい」などの文字列があります。 *テキスト形式に変換されたときに、 ・「あいう」→「あいう___」 ※(_はスペース) ・「あいうえお」→「あいうえお_」 ・「あい」→「あい____」 と変換させたい。 説明もなんだかへたくそで、ちょっと難しいと思いますが、どなたか良い方法を知りませんか?非常に困っています。宜しくお願いします。

  • 列数の多いエクセルのデータをテキストファイル(スペース区切り)に変換するにはどうしたらいいでしょうか

    列数の多い(200列くらい)エクセルのファイルをテキストファイル(スペース区切り)1行に保存したいのですがどのようにしたらいいのでしょうか. エクセルを普通にテキスト形式で保存すると200列 1行で保存されず,適当に折り返して3行くらいになってしまいます. 例えば 2行200列をテキストにすると 1行目 1~100列 2行目 1~100列 1行目 101~200列 2行目 101~200列   と4行になってしまいます.これを 1行目 1~200列 2行目 1~200列   のようにしたいのですが可能でしょうか.

  • EXCELから固定長テキストファイルにうまく書き込めない

    EXCELのデータを固定長で保存するためテキスト(スペース区切り)の形式で保存したのですが、 結果をメモ帳で見てみると途中(237文字)で改行?されていました。 各行先頭から26個のセルに文字や数字がはいっており、セル幅は17前後です。 1レコード1行にするにはどうすればよいでしょうか。 困っております。よろしくお願いします。 実際には次のコマンドで保存しました。 ActiveWorkbook.SaveAs Filename:=file_path & filename_txt1, _ FileFormat:=xlTextPrinter, CreateBackup:=False

  • Visual C++を 用いたテキストファイル読み込み(応用)

    Microsoft Visual C++ 2008 Express Editionを使っています。 テキストファイルは 約5000行×6列の数値(のみ)になっております。(列間にスペースあり) いくつかある5000×6行テキストファイルの中から、ファイル名を入力することで任意のテキストファイルにアクセスし、さらに6列のデータをそれぞれ別の配列に格納するコンソールプログラムを考えていますが行き詰まっています。例えば、1列目を配列1、2列目を配列2、・・・といった具合です。 詳しい方、どうかよろしくお願いいたします。

  • 固定長データのテキストファイルのスペースについて

    固定長データのテキストファイルをExcelで読み込むと、スペース部分が前詰めされてしまいます。 スペースもそのままカラムとして読み込む方法はありませんでしょうか。 例えば次のような固定長データがあるとします; No.  項目名   タイプ   桁数 1    コード    文字    6 2    状態    文字    10 テキストファイルで開くと下記のような表示です(以下、便宜上スペースを”_”で表します); data011________1 data02_________1 data03____1_____ これをExcelにて固定長フィールドのデータとして読み込む際、 フィールドの区切り位置として6カラム目と16カラム目に矢印を置き 全てのフィールドを文字列として読みこむとExcelでは下記のように表示されます;       A列   B列    1行目  data01 1________1 2行目  data02 1 3行目  data03 1 ここで、B2セルとB3セルがそれぞれ _________1 ____1_____ とスペースを保持したままの形で読み込む方法はありませんでしょうか。 手動でもVBでもかまいません。ご教示頂ければ幸いです。

  • Excel2003で作成したファイルをExcel2007で開くとテキストボックスの不具合

    Excel2003で作成したファイルをExcel2007で編集しています。 ファイル内にテキストボックスがあるのですが、2003の場合、文字数が多くなれば自動で改行されてテキストボックス内に表示されています。 ところが同じExcelファイルを2007で開いて編集しようとした場合、改行されずに全て1行で表示しようとしているため、文字列が途中で途切れてしまいます。 テキストボックス自体を2007で新しく作り直すしかないのでしょうか? なお、このファイルを2003で開いた場合、なにか問題はありますか?