• ベストアンサー

テキストファイルから漢字や数値を検索する方法

C言語初心者です。自分の力では解決できそうもないので質問しました。よろしくお願いします。 テキストファイルをオープンして、そのファイルにある特定の漢字を 検索するプログラムはどのように書けばよいのでしょうか。 例:テキストファイル: sample.txt(500byet) 検索する漢字  : こんにちわ よろしくお願いします。

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

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★アドバイス  文字列関数をお勉強しましょう。  全体的な流れは  (1)ファイルをオープン  (2)1行ずつ文字列を読み込む  (3)読み込んだ1行を strstr(buff,"こんにちわ") として検索  (4)(3)で行った処理で strstr 関数が NULL 以外なら見つかった事となる。  (5)(4)で見つかったら printf などで表示すれば良い。  (6)ファイルが終わるまで (2) へ飛び続ける  (7)ファイルをクローズ  これだけです。  文字列関数の strstr 関数を利用すれば簡単ですね。  頑張って下さい。  ちなみに string.h をインクルードします。

bokutyu
質問者

お礼

回答ありがとうございます。 なるほどstrstr関数を利用するんですね! 助かりました、ありがとうございました。

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

「こんにちは」は漢字ではないですが英数字でもカタカナでもコンピュータにとってはただの記号なので文字種に関係なく処理は同じです。 文字コードには注意が必要になりますが。

関連するQ&A

  • ファイルから漢字、数値を検索するプログラム

    c言語の初心者です。今ひとつの難しい課題を解いているのですが、力 不足のため、行き詰っています。どうかお助けください>< 問題 テキストファイルから任意のコードを検索するプログラムを作る。 "@"の後の以下の条件にマッチした検索を行う @"漢字" "から始まった場合、文字列を検索 @0xff   "0x"から始まった場合、16進入力データを持つ位置を検索 0x1 = 0x01です。0x1という記述も許容する。 @255 "0"~"255"が入力された場合、入力データを持つ位置を検索。 但し、0~255までのチェックが必要。 @s65535 short(2Byte)単位で 65535(0xffff)を探す。 但し、0~65565までのチェックが必要 @s0xffff short(2Byte)単位で 0xffffを探す。 0xfff=0x0fffです 0x1や0xfffという記述も許容する @l1048575 long(4Byte)単位で 0x000fffffを探す。 @l0xffffffff long検索時の"@"の後は Lの小文字である。 これらを検索するプログラムはどうやって書けばよいかヒントのみでも 良いですから、アドバイスください。お願いします。

  • C言語でテキストファイルの内容を置換して保存したい

    C言語でテキストファイルを読み込んで、特定のキーワードを 見つけたら置換して、保存したいと考えています。 ネット上でテキストファイルの内容を置換して、保存するよう な情報を検索したのですが、見つからず質問することにしました。 例) hoge.txtを読みこんで、FLG=0となっている行を、FLG=1というように置換させたい。 FLG=0 ↓ FLG=1

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

    http://www.ajaxtower.jp/ini/html/index1.htmlにあるサンプルで xmlHttp.open("GET", "http://www.ajaxtower.jp/sample/readfile.txt", true); の、ファイルの場所を変えたいのですが、とりあえず、同じフォルダ内のテキストファイルtest.txtにアクセスしようと、"./test.txt"に変えて、クリックしても何も表示されませんでした。 apacheを起動してhtdocsにtest.txtを入れて"files://localhost/test.txt"に入れてもダメでした。 xmlHttp.openが読めるtextファイルは、どういう状態である必要があるのでしょうか?

  • C言語でのファイル検索&ファイル書き換えについて

    C言語である特定のフォルダを指定して、その階層内(サブフォルダも含む)にあるファイル、例えばsample_nameをファイル名に含むファイルを見つけ、そのファイル内の例えば下のような書き換えを行えるようなプログラムはどうつくればいいのでしょうか。 元ファイル ~sample_name1.txt~ aaa, 10 bbb, 20 ccc, 30 ~sample_name2.txt~ aaa, 30 ccc, 12 bbb, 20 ddd, 15 上のように各ファイルにaaaやbbbが共通に含まれています。 対象ファイル:sample_name 対象文字列:aaa 変換後:100 変換後ファイル ~sample_name1.txt~ aaa, 100 bbb, 20 ccc, 30 ~sample_name2.txt~ aaa, 100 ccc, 12 bbb, 20 ddd, 15

  • テキストファイルからの数値の読み込みについて

    C言語の初心者で、Microsoft Visual C++ 6.0 を使用しています。 テキストファイルから数値を読み込むことに関して質問です。 下記のプログラムでテキストファイルを読み込んだとき <正しい結果> -0.0266377 Press any key to continue と実行結果がなるはずですが、もとのファイルをコピーしたファイルから 読み込むと <誤った結果> -9.25596e+061 Press any key to continue となってしまいます。またエディターで適当な数値のテキストファイルを 作っても同様なトラブルが生じます。目下、Cのコンパイラしか無い 状況下でFortranのプログラムをCに変換しています。 下記のxをint,floatで定義した場合も異なった値を出力します。 エディターで、正しく読める元ファイルとコピーしたファイルの違いをしらべ ても、違いはありませんでした。  宜しくご教授のほど御願いします。 --------------------------- #include <iostream.h> #include <fstream.h> int main() { double x; ifstream fin("a:\data.txt"); fin >> x; cout << x << endl; fin.close(); return 0; } ----------------------------

  • vbsでテキストファイル検索してファイルに書き込む

    初心者です。 テキストファイルを以下の条件で検索して、検索がマッチしたらそのファイルのレコード行を各条件によって指定されたファイルに書き込みたいです。 1)5桁目が"D"且つ 10~11桁目が"A5"の場合、ファイル"TEXT1.txt"に書き込む 2)5桁目が"G"且つ10~11桁目が"B6"の場合、ファイル"TEXT2.txt"に書き込む 3)上記に該当しない場合、ファイル"TEXT3.txt"に書き込む どなたかご教示のほど宜しくお願い致します。

  • C言語でテキストファイルのデータ処理

    はじめまして。 僕はC言語に関して全くの初心者です。 どうぞよろしくお願いします。 例えば、 1,0,0,7,6 2,0,0,5,5 3,1,0,4,9 : : のようなテキストファイル、test.txtがある時、 1行目の4カラム目(7)と5カラム目(6)を、 それぞれの行について差し引くプログラム、 つまり全ての行について4カラム目は7を引き、 5カラム目は6を引くプログラムの事で、 この例では、 1,0,0,0,0 2,0,0,-2,-1  3,1,0,-3,-3 : : となるようなプログラムを書き、結果を出力したいのですが、よく分かりません。 ちなみにawkで書いて実行すると、 (プログラム名はtest.awkとする) BEGIN{ i=0; } { while(i<1){ v3 = $4; v4 = $5; i++; } print $1,$2,$3,($4 - v3),($5 - v4); } 実行するプログラム↓ awk -f test.awk test.txt という感じなのですが…。 これを上述の様に、C言語でプログラムを書いて、 実行するには、例えばどのようなプログラムを書けば いいのでしょうか? なにぶん初心者のため、分からない事だらけですが、 よろしくお願いしますm(__)m

  • JavaScriptで日付別のテキストファイル読込

    JavaScript初心者です。よろしくお願いします。 いつもはSSIでテキストファイルを読み込んで表示させているのですが、特定のファイルではなく、日付ごとに読み込むファイルを変える必要があり、いろいろと調べてはみたのですがどうにも参考にできそうなところを見つけられず困っています。 $(function() { $("#test_text").load("sample.txt"); }); これでsample.txtをtest_textの場所に読み込むことはできたのですが、loadで読み込むファイル名を日付によって書き換える方法はないでしょうか。 各ファイル名は0429.txtのように日付にしています。

  • 外部テキストファイルの読み込みで

    VC#.NET(もしもC言語のカテゴリでしたらご指摘下さい) テキストボックスに単語を入力し、検索ボタンを押すことで、入力した単語とそれの解説が別個に用意されたファイル(01.txt)の中から抽出できる(下部リッチテキストボックスに表示される)プログラムを組みたいと思っております。 このようなプログラムは、いわゆるデータベースのカテゴリに属するのでしょうか?ファイルを読み込んだり検索したりするものはできたのですが、外部ファイルから部分的に読み込ませるというのがどうにもわかりません。 もしも上記のような説明でわかるという方がいらっしゃいましたら、ご教授ください。

  • VBAでUTF-8テキストファイル作成したい

    VBA,文字コードなどにあかるくない初心者です。 VBAを利用して、エクセルのとあるセルに記載されている文字を UTF-8形式でテキストファイルに出力させたいと考えています。 (多言語対応のため・・・、韓国語や中国語でセルに記載された文字を  UTF-8形式でテキストファイルに文字化けしないよう出力させたいためです。) どのように実現が可能か、いくつか検索をしてみましたが 難しくてわかりませんでした。 VBAのサンプルコードを教えていただけないでしょうか。 もしくは、初心者でもわかりやすい実現方法が記載されたサイトを教えていただけないでしょうか。 よろしくお願い致します。 ※今文字コードを意識せずに下記のようなVBAを書いています。(簡略化して記載しています。) Sub test() Open "C:\Sample\Data.txt" For Output As #1 'ファイルを新規作成 'データ書き込み Print #1, Cells(1, 1) Close #1 End Sub

専門家に質問してみよう